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.

5 min readSume
All posts

For AI podcast cover art, call black-forest-labs/flux.2-flex with aspect_ratio: "1:1": Sume lists Flux 2 Flex at $0.05 per image and bills list times 1.25, which is $0.0625, so eight cover concepts at one image each cost $0.50.

Podcast apps show a square tile and shrink it to a thumbnail, so a cover needs one bold shape and little detail. Prices and ratios are from Sume's Image API page and the catalog source, read on 2026-10-05. This post makes no claim about the model's text quality; if the cover carries the show name, proof the spelling or set the title in a layout tool.

What does a cover round cost?

Flux 2 Flex belongs to the custom-pixel family, so image_size with exact width and height takes priority over aspect_ratio. For a cover, 1:1 is enough; scale the result to the size your host asks for.

Flux 2 Flex for cover concepts (read 2026-10-05)
ItemValueSource
Model idblack-forest-labs/flux.2-flexImage API page
Billed price per image$0.0625$0.05 list x 1.25
Eight concepts$0.508 x $0.0625
Four takes of one concept$0.254 x $0.0625
Square ratio1:1Catalog aspect list
Exact sizeimage_size {width,height}Overrides aspect_ratio

How do I request a cover?

Describe one subject, a flat background and a bold palette, and ask for no lettering.

import os, requests

body = {
    "model": "black-forest-labs/flux.2-flex",
    "prompt": "Podcast cover art: a large bright orange microphone silhouette on a deep teal background, flat shapes, strong contrast, centered, no lettering",
    "aspect_ratio": "1:1"
}
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?

  • Shrink the result to thumbnail size and check that the main shape still reads.
  • Add the show title in a layout tool for a guaranteed spelling.
  • Sum usage.cost over the round to confirm 8 x $0.0625.
  • Check the host's size and file-type rules before export.

Sources

Related posts

More in Models

All Models posts

Written by Sume