Change the volume number on 12 book covers with Ideogram 4.5

Twelve volume covers from one finished cover: one Ideogram 4.5 edit per number, $0.45 at low and $0.90 at medium on Sume. Prompt, checks and a Python loop.

5 min readSume
All posts

To make a 12-volume book series from one finished cover, edit the volume number with ideogram/ideogram-v4.5: send the cover as the first input_references image and quote the old and new number in the prompt. Twelve edits cost $0.45 at low quality and $0.90 at medium on Sume.

Volume numbers are a hard case for a picture editor because they are small, they sit near ornaments, and every other cover in the series has to look identical. Ideogram launched 4.5 on 2026-09-30 and calls it "the most precise edit model" (Ideogram on X, read 2026-10-05); that is the property a series needs, and it is only proven by laying twelve results in a row.

What does the prompt and loop look like?

Branch every volume from the same master cover, so the shared design cannot drift from one volume to the next. An edit with no aspect_ratio keeps the source geometry per the Image API docs, so a 2:3 cover stays 2:3. The loop below submits one call per number and prints each result URL; it stops on any non-200 so you can handle 202 jobs on purpose.

import json, os, urllib.request

KEY = os.environ["SUME_API_KEY"]
MASTER = "https://example.com/cover-vol-1.png"

def edit(n):
    body = {
        "model": "ideogram/ideogram-v4.5",
        "quality": "low",
        "input_references": [MASTER],
        "prompt": f'Change the volume number "1" to "{n}". '
                  "Keep the title, artwork, colors and layout unchanged.",
    }
    req = urllib.request.Request(
        "https://api.sume.com/v1/images",
        data=json.dumps(body).encode(),
        headers={"Authorization": f"Bearer {KEY}",
                 "Content-Type": "application/json",
                 "Idempotency-Key": f"cover-vol-{n}-v1"},
    )
    with urllib.request.urlopen(req, timeout=60) as r:
        if r.status != 200:
            raise SystemExit(f"vol {n}: status {r.status}")
        return json.load(r)["data"][0]["url"]

for n in range(2, 13):
    print(n, edit(n))

What does the series cost?

The master is volume 1, so a 12-volume series needs 11 edits; the table shows 12 to cover a remake of volume 1 too. Ideogram's list prices are $0.03, $0.06 and $0.22; Sume bills list x 1.25, the same at any size.

Series cost at Sume list x 1.25. Per-image list prices from the Image API docs, read 2026-10-05.
QualityPer volume12 volumesRe-run of 3 failed volumes
low$0.0375$0.45$0.1125
medium$0.075$0.90$0.225
high$0.275$3.30$0.825

What should I check on a cover set?

Put all twelve covers in a grid at the same scale and look for the one that is different. Specific things to check:

  • The number itself: is it the right digit, and is two-digit "10", "11" and "12" centered where "1" was? Wider numbers can collide with an ornament.
  • The spine and title: unchanged on every cover.
  • The artwork: no shifted shapes. A pixel diff against the master outside the number's box will find small moves your eye misses.
  • The size: all twelve must share dimensions, or your printer's template will reject them.

What if volume 10 breaks the layout?

Two digits are wider than one. If the master has a tight badge for the number, re-draw the badge at two-digit width once in the master, and then branch volumes 10 to 12 from that adjusted master. Do not chain from volume 9; each cover should be one generation from a master you approved.

Run the loop above at low, re-run any failures at medium, and spend high ($0.275) only on a cover that fails twice. The loop is serial, so it uses one processing slot; for series of 40 or more, see the wave-size post. Print files are a separate step: the docs give no print resolution for the model, so check dimensions against your printer before you commit.

How do I check twelve covers quickly?

Build a contact sheet with Pillow: paste each cover into a grid at a thumbnail size, label each with its volume number, and save one PNG. Differences in color, ornament position or title stand out in a grid in a way they never do one at a time.

Then zoom into the number on each cover, one at a time. That second pass catches wrong digits and clipped numerals, which a thumbnail hides. The check takes minutes against the cost of reprinting a volume.

A small test before the full run

Before you scale this up, run it on two or three real files first and write down what you saw. A small test at low quality costs cents on Sume ($0.0375 per Ideogram 4.5 edit), and it tells you whether your prompt, your source files and your review step are ready.

Keep the originals untouched, name every output after its source and its prompt, and store the job id with each result. If a result is wrong later, you can find the exact request, fix the prompt and re-run only that item with a new Idempotency-Key.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume