AI ice cream flavor photos on Imagen 4 Fast: 40 images for $1.00
Imagen 4 Fast lists at $0.02 and bills $0.025 on Sume; ten flavors at four takes each is 40 images and $1.00, in 1:1, 4:3 or 3:4.

For AI ice cream flavor photos, call google/imagen-4-fast with n: 4 once per flavor: Sume lists Imagen 4 Fast at $0.02 per image, billed at list times 1.25 as $0.025, so ten flavors at four takes each is 40 images and $1.00. It is text-to-image only and lists five ratios: 1:1, 16:9, 9:16, 4:3 and 3:4.
Scoops melt, drip and reflect light, and a menu board needs many flavors; both argue for a cheap, fast model. Prices and limits are from Sume's Image API page and the catalog source, read on 2026-10-05. Because the model takes no reference image, the pictures show an imagined scoop, not your tub: keep them for menus and social posts, and describe the real flavor accurately.
What does a flavor board cost?
Imagen 4 Fast has no resolution tier on Sume and no 4:5 ratio, so a square or 3:4 crop is the closest to an Instagram portrait post; for an exact 4:5, pick a model that lists it.
| Item | Value | Source |
|---|---|---|
| Model id | google/imagen-4-fast | Image API page |
| Billed price per image | $0.025 | $0.02 list x 1.25 |
| One flavor, four takes | $0.10 | 4 x $0.025 |
| Ten flavors, four takes | $1.00 | 40 x $0.025 |
| Ratios | 1:1, 16:9, 9:16, 4:3, 3:4 | Catalog aspect ratios |
| References | None (text only) | Catalog constraints |
How do I generate one flavor?
Vary the flavor and toppings per call and keep the cone, bowl and light the same, so the board looks like one shoot.
import os, requests
body = {
"model": "google/imagen-4-fast",
"prompt": "A waffle cone with two scoops of pistachio ice cream, light green with nut crumbs, on a white marble counter, soft window light, shallow depth of field, no text",
"aspect_ratio": "3:4",
"n": 4
}
r = requests.post(
"https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json=body,
timeout=60,
)
if r.status_code == 200:
out = r.json()
for img in out["data"]:
print(img["url"])
print("billed USD:", out["usage"]["cost"])
elif r.status_code == 202:
print("still running, poll:", r.json()["data"]["status_url"])
else:
print(r.status_code, r.text)What should I check?
- Compare color and toppings against the real flavor, and drop takes that show the wrong ones.
- Sending
input_referencesreturns a 400, because the row is text-only. - If your menu needs 4:5, generate 3:4 and crop in your layout tool.
- Read
usage.coston each response when you total the batch.
Sources
Related posts
More in Models
- AI meme template images on Grok Image: 13 ratios, $0.025 each
Grok Image lists at $0.02 and bills $0.025 on Sume, with 13 ratios from 2:1 to 9:20 and no 4:5; ten template backgrounds cost $0.25.
- AI photo booth strip from one selfie: a 1:4 Nano Banana 2 edit
A four-frame photo strip fits the 1:4 ratio that Nano Banana 2 lists on Sume; one selfie reference and one call cost $0.10 billed per strip.
- AI photo edit came back a different size: four causes on Sume
A different edit size on Sume comes from four things: a shape request, a pixel string snapped to a ratio, the larger 1K edit size, or no aspect_ratio auto.
- AI podcast cover art on Flux 2 Flex: $0.0625 per image on Sume
Flux 2 Flex lists at $0.05 and bills $0.0625 on Sume; a square podcast cover takes 1:1, and eight concepts cost $0.50 at one image each.
Written by Sume