


























We were curious about how much variance the AI has. So, what would be the results if we were to request 100 images with the same prompt? - I won't review the results and rather just present the results to you.
These prompts are a result of a quick brain storming. If you have suggestions, please let me know. I might create more posts like this in the future. The goal was to have a wide range to motives, styles, and so.
These images are unedited. Generated - downloaded - created a montage; that is it. These images are free for personal or commercial use and do not require any form of mentioning. Dall-e gives ownership of the images to me, and I give you permission to do with it, whatever you want.
The resolution of the originals is 1024x1024 and I might provide a download link at some point. If you want a single image, feel free to reach out.
With testing, the total costs were around 20 EUR. I'd say that it is acceptable.
You can find a technical write-up at the end of the post. But as a disclaimer: not best-practice. Feedback is still appreciated.
So, enjoy!
photo of a kitten on a carpet in the living room, digital art

small robot wandering around in an post-apocalyptic world, digital art

minimalist logo of a donut shop

dackel in a suit in a library, digital art

movie poster for an action movie from the 80s, digital art

a black and white photo of the life in new york

sticker illustration of a cute dolphin

area view of a city with street lights at night, digital art

detailed sketch of an evil monster, digital art

realistic photo of a colorful cyberpunk city in the rain at night, digital art

Side note: To be clear, this is not best-practice. It got its job done, and that is all I needed. Still, feel free to reach out, happy to learn!
First, openai Dall-E API offers to generate the following sizes, with 3 different prices:
Resolution Price
1024×1024 $0.020 / image
512×512 $0.018 / image
256×256 $0.016 / image
I've generated the largest resolution.
So, I've decided to use the API via curl, the first limit I encountered is the '10 images per request'.
{
"error": {
"code": null,
"message": "20 is greater than the maximum of 10 - 'n'",
"param": null,
"type": "invalid_request_error"
}
}
The next one would be the rate limit of 50 images per 5 minutes.
{
"error": {
"code": null,
"message": "Rate limit reached for images per minute. Limit: 50/5min. Current: 60/5min. Please visit https://help.openai.com/en/articles/68839691 to learn how to increase your rate limit.",
"param": null,
"type": "requests"
}
}
In the end, the download of the generated images was limited too. After every category I had to switch to another VPN server location to bypass the limit.
I did a small break after every category to check the result of the script, and whether all images were generated and downloaded.
"#!/bin/bash
# For for-loop for the whole script due to the limitations
# Curl request to generate the images via API, and the save the output via -o flag to a file
for i in {1..10};
do
echo $i
curl -o output.txt https://api.openai.com/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-sdsdskdsdsdsdeefefe" \
-d '{
"prompt": "small robot wandering around in an post-apocalyptic world, digital art",
"n":10,
"size":"1024x1024"
}'
# Gets the URLs of the generate images, removes quotation marks, and saves it to a new file (one URL per line)
cat output.txt | jq '.data[].url' | sed 's/"//g' > output_url.txt
# Finally, download images with curl to the current directory. I was told that this is not bet practice, but it worked.
cat output_url.txt | while read f; do curl "${f}" -O; done;
# wait 60 seconds before we start it all over again
sleep 60
done
Things to improve: start/stop, logs, error and information notification, speed
In the next step, I had to rename all the files. The file names were cryptic and difficult to work with.
#!/bin/bash
a=1
n=cats
for i in ./1_cats/*; do
new=$(printf "./1_cats/"$n"_%04d.jpg" "$a")
mv -i -- "$i" "$new"
let a=a+1
done
The name scheme would look like: cats_0001.png
In the last step, I used imagemagick to create a montage with the following command.
montage -geometry 200x200+2+2 -tile 4x -set label '%f' *.jpg montag.jpg
montage # imagemagick function to create montages-geometry 200x200+2+2 # size per image + min size of the padding between the images-tile 4x # setting for the layout, 4 columns, unlimited rows. 3x4 would be a limit of 3 columns and 4 rows-set label '%f' # adds the filename of the image on the montage*.jpg # use ALL .jpg file within this directory for the montagemontag.jpg # name and format of the final montage此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。