Ideogram 4.5 ten-edit chain: cost and drift on Sume

Ten sequential edits on Ideogram 4.5 cost $0.75 at medium quality on Sume. Edit from the original, not the last result, to avoid compounding drift.

5 min readSume
All posts

Ten edits on Ideogram 4.5 at the default medium quality cost $0.75 on Sume, because each call bills $0.075 whether it is the first edit or the tenth. Chaining each edit onto the previous result compounds small changes, so for most jobs it is safer to send the original as the first image every time.

Facts below are from the Sume Image API docs and catalog (read 2026-10-03).

What a chain costs

The price is the same at 1K and 2K. A failed generation is not billed, and usage.cost on each response shows the billed amount, so a script can total a chain as it runs.

Ideogram 4.5 edit costs on Sume by quality (read 2026-10-03)
QualityPer editTen editsTwenty edits
low$0.0375$0.375$0.75
medium$0.075$0.75$1.50
high$0.275$2.75$5.50

Chain or fan out

There are two ways to apply ten changes. A chain feeds result N in as the first image of call N+1. A fan-out sends the original with one instruction per call. A chain is right when the changes depend on each other, such as moving an object and then adjusting the shadow it now casts.

A fan-out is right when the changes are independent variants, and it cannot drift: every output starts from the same pixels. Cost is identical, so choose by dependency, not price.

  • On Ideogram 4.5 the first image sent is the one that gets edited; up to four more act as references.
  • Leave out aspect_ratio on an edit to keep the source shape.
  • Do not send output_format; the model lists none and the API returns 400 unsupported_parameter.
  • Use low for drafts of each step and high only for the approved final.

A chain loop

This Python loop runs three chained edits and prints the billed cost. Set SUME_API_KEY first.

import os
import requests

url = "https://api.sume.com/v1/images"
hdr = {"Authorization": "Bearer " + os.environ["SUME_API_KEY"]}
src = "https://example.com/room.jpg"
steps = ["Paint the wall sage green", "Add a floor lamp", "Warm the light"]
total = 0.0
for s in steps:
    body = {
        "model": "ideogram/ideogram-v4.5",
        "prompt": s,
        "quality": "medium",
        "input_references": [{"type": "image_url", "image_url": {"url": src}}],
    }
    r = requests.post(url, json=body, headers=hdr, timeout=60)
    r.raise_for_status()
    if r.status_code != 200:
        raise SystemExit("202 job envelope: poll the job instead")
    data = r.json()
    src = data["data"][0]["url"]
    total += data["usage"]["cost"]
print(src, round(total, 4))

Sources

Related posts

More in Models

All Models posts

Written by Sume