For those who seek surprise and beauty by generating never seen imagery, leveraging automation enhanced by human selection.
​
Three (colorful helps) images in, many images out. Rinse and repeat (load saved images from early sessions to expand the generative possibilities in later sessions. Artvolution, with the artist (you) in the role of natural selection!).
​
Use your preferences to choose starting images and keep images that you value. The tool will save all generated images - you may end up deleting many, but look at them closely - some will surprise you more than their thumbnail indicates.
​
​Click inside each code section, then key in <shift><enter>, wait for code to run, then move to next section. Some sections take longer than others - smaller image sizes will run faster. Feel the rhythm enjoy the art.

Choose a colorful image already loaded on your computer:

Click inside each code section before keying <shift enter>

In[]:=
ClearAll["Global`*"];
In[]:=
(*InitializationImageEffectre-orderingandtweakstodefaults-consultWolframdocumentationbeforechanging*)​​paramaterizedEffectDefaults=Partition[Riffle[Range[Length[ImageEffect[]]],ImageEffect[]],2];​​effectArrangement=ImageEffect[][[#]]&/@{6,2,8,15,23,19,17,27,13,14,21,3,26,7,20,5,1,4,24};​​paramaterizedEffectDefaults=effectArrangement/.{"Charcoal"{"Charcoal",3},"Comics"{"Comics",{0.03,0.15}},"MotionBlur"{"MotionBlur",15,0.45},"Jitter"{"Jitter",7},"NestedComposition"{"NestedComposition",17,0.95,Pi/12,{0.52,0.48},{0.58,0.42}},"OilPainting"{"OilPainting",5},"Posterization"{"Posterization",10},"SaltPepperNoise"{"SaltPepperNoise",0.15},"Solarization"{"Solarization",0.6},"Stippling"{"Stippling",7}};​​​​importImageFileWithoutMultiImageListError:={Import[SystemDialogInput["FileOpen"]]}//Flatten//First;​​myImage=importImageFileWithoutMultiImageListError​​Print["Your image dimensions (width x height) as loaded are ",ImageDimensions[myImage]];​​Print["Your display settings maximum resolution at this time is ",Flatten["FullScreenArea"/.SystemInformation["Devices","ScreenInformation"]][[{2,4}]]];

Choose maximum pixel dimensions {width and height limit} for your needs:

In[]:=
widtH=Input["Please input your selected width for processing your image. All images will be resized to match."]​​heighT=Input["Please input your selected height for processing your image. All images will be resized to match."]​​Print["Your images will be processed (largelY :-) at ",widtH," x ",heighT," pixels"];​​maxImage=ImageResize[myImage,{widtH,heighT}]

Choose two more images already loaded on your computer:

In[]:=
secondImage=ImageResize[importImageFileWithoutMultiImageListError,ImageDimensions[maxImage]]
In[]:=
thirdImage=ImageResize[importImageFileWithoutMultiImageListError,ImageDimensions[maxImage]]​​imageSet={maxImage,secondImage,thirdImage}

Change the filename and/or extensions below to your preference:

In[]:=
(*Filesetup*)​​baseOutputFileName="goingArtSubmission";​​(*pdfandpngeachhaveadvantageshoweversmall*)​​baseOutputImageExtension=".pdf";​​alternateImageExtension=".png";​​baseOutputMovieExtension=".mp4";

Select or create a directory folder to save batch outputs:

In[]:=
outputDirectory=SystemDialogInput["Directory"]​​​​(*Outputfunctionsbasedonchoicesabove*)​​putOut[image_]:={Export[StringJoin[outputDirectory,baseOutputFileName,baseOutputImageExtension],image,OverwriteTarget"KeepBoth"],Export[StringJoin[outputDirectory,baseOutputFileName,alternateImageExtension],image,OverwriteTarget"KeepBoth"]};​​putOut[imageS_List]:=Export[StringJoin[outputDirectory,baseOutputFileName,baseOutputMovieExtension],imageS,OverwriteTarget"KeepBoth"];

Then let the automation work, clicking inside each code section before keying <shift enter>.

In[]:=
Print["Original image is ",ImageDimensions[myImage]," pixels"];​​Print["imageSet at different widths"];​​​​tinyImages=ImageResize[#,128]&/@imageSet​​Print[ImageDimensions[#]," pixels"]&/@tinyImages;
In[]:=
smallImages=ImageResize[#,256]&/@imageSet​​Print[ImageDimensions[#]," pixels"]&/@smallImages;
In[]:=
mediumImages=ImageResize[#,512]&/@imageSet​​Print[ImageDimensions[#]," pixels"]&/@mediumImages;
In[]:=
largeImages=ImageResize[#,1024]&/@imageSet​​Print[ImageDimensions[#]," pixels"]&/@largeImages;
allImages=Join[smallImages,mediumImages,largeImages,imageSet];​​​​Print["Show each effect applied to the maximum resolution prmary image"];​​effectedMaxImageListing={ImageEffect[imageSet[[1]],#],#}&/@paramaterizedEffectDefaults;​​effectedMaxImages=effectedMaxImageListing[[#]][[1]]&/@Range[Length[effectedMaxImageListing]];​​putOut[#]&/@effectedMaxImages;​​​​ListAnimate[effectedMaxImageListing,0.8,AnimationRepetitions5,DisplayAllStepsTrue,AnimationDirectionForward,ImageSizeLarge]​​
In[]:=
starT=Now;​​Print["ImageInkOverWatercolor"]​​NestList[ResourceFunction["ImageInkOverWatercolor"],#,3]&/@imageSet​​putOut[#]&/@%​​elapseD=Now-starT

Select a folder containing many images to make a mosaic of your image:

In[]:=
​​starT=Now;​​mosaicDir=SystemDialogInput["Directory"];​​artImages=Flatten[{Import[#]}&/@RandomChoice[FileNames[{"*.pdf","*.png","*.jpg","*.heic","*.gif","*.bmp"},mosaicDir,3],200]];​​ResourceFunction["ImageMosaic"][maxImage,artImages,"TileSize"->#]&/@{48,24,12,6}​​putOut[#]&/@%​​ResourceFunction["ImageMosaic"][secondImage,artImages,"TileSize"->#]&/@{48,24,12,6}​​putOut[#]&/@%​​ResourceFunction["ImageMosaic"][thirdImage,artImages,"TileSize"->#]&/@{48,24,12,6}​​putOut[#]&/@%​​elapseD=Now-starT
In[]:=
starT=Now;​​Print["PebbleStoneEffect tiny image"]​​ResourceFunction["PebbleStoneEffect"][#]&/@tinyImages​​putOut[#]&/@%​​elapseD=Now-starT
In[]:=
​​starT=Now;​​Print["PebbleStoneEffect small image"]​​ResourceFunction["PebbleStoneEffect"][#]&/@smallImages​​putOut[#]&/@%​​elapseD=Now-starT
In[]:=
​​starT=Now;​​Print["PebbleStoneEffect medium image"]​​ResourceFunction["PebbleStoneEffect"][#]&/@mediumImages​​putOut[#]&/@%​​elapseD=Now-starT
In[]:=
​​starT=Now;​​Print["PebbleStoneEffect large image"]​​ResourceFunction["PebbleStoneEffect"][#]&/@largeImages​​putOut[#]&/@%​​elapseD=Now-starT
In[]:=
starT=Now;​​Print["Solarization"];​​images05=ImageEffect[#,"Solarization"]&/@imageSet​​putOut[#]&/@images05;​​starT=Now;​​Print["ColorNegate max and solarized image"]​​ColorNegate[#]&/@Join[imageSet,images05]​​putOut[#]&/@%​​elapseD=Now-starT​​
In[]:=
​​Print["ImageAdd and Multiply"]​​{ImageAdd[maxImage,secondImage],ImageAdd[maxImage,thirdImage],ImageAdd[secondImage,thirdImage],ImageMultiply[maxImage,secondImage],ImageMultiply[maxImage,thirdImage],ImageMultiply[secondImage,thirdImage]}​​putOut[#]&/@%​​Print["ImageAdd and Multiply"]​​elapseD=Now-starT