Imagen 4 with a reference image: Sume rejects it, use Nano Banana 2.1
Sume lists Imagen 4 Fast and Ultra as text-to-image only: input_references is 0 to 0. To edit a photo, use Nano Banana 2.1 at $0.10 per 1K image.

Imagen 4 on Sume does not take a reference image. The catalog descriptor for input_references on google/imagen-4-fast and google/imagen-4-ultra is 0 to 0, and the Sume docs say a model with that range is text-to-image only and rejects references. For image edits, switch to google/nano-banana-2.1, which takes 0 to 10.
Check it yourself
Call the catalog and read the descriptor rather than trusting a blog post. The same call returns n, aspect_ratio and resolution ranges.
curl -s https://api.sume.com/v1/images/models \
-H "Authorization: Bearer $SUME_API_KEY" \
| jq '.data[] | select(.id | test("imagen|nano-banana-2.1"))
| {id, refs: .supported_parameters.input_references}'What each row takes
The table lists what the Sume repo's catalog code sets for each row. Prices are Sume list as of 2026-10-08.
| Model id | input_references | Sume price per image | Edits a photo |
|---|---|---|---|
| google/imagen-4-fast | 0 to 0 | $0.025 | No |
| google/imagen-4-ultra | 0 to 0 | $0.075 | No |
| google/nano-banana-2.1 | 0 to 10 | $0.075 at 0.5K, $0.10 at 1K | Yes |
| openai/gpt-image-2.5 | 0 to 16 | depends on quality and size | Yes |
A routing rule
In your own code, branch on the descriptor: if the job has reference photos, pick a row whose input_references.max is at least the photo count; otherwise pick the cheapest text row. That keeps a mid-week catalog change from turning into a 400 in production.
Google's Imagen page says Imagen models are shut down in the Gemini API and tells developers to migrate to Nano Banana. Sume's catalog is separate from Google's API, so check which Imagen rows it lists on the day you build.
What the error looks like
Sume documents that a request which sets a parameter the model does not list is rejected with 400 unsupported_parameter. For references on a 0-to-0 model, the docs say the model rejects them. Do not rely on the exact error text: check the status code and the model's descriptor before you submit.
A cheap guard in code is to compute can_edit = refs_max > 0 once per model at startup and fail the job locally when a photo is attached to a text-only row. That saves a round trip and a confusing log line.
If you want the lowest-cost edit row, the cheapest listed option with references is Nano Banana 2.1 at 0.5K, $0.075. See the cheapest models that take a reference photo for the full list with other rows.
Where this fits in a pipeline
A common pattern is a two-row router. Rows that take references handle edits and anything with a source photo. Rows that do not handle blank-page prompts at a lower price. The router needs only two numbers per row: input_references.max and the price line. Both come from the catalog, so adding a row later does not need a code change.
Keep the router's decision in your logs next to the job id. When a cost line looks wrong a month from now, you can see which rule picked the row.
A short test plan helps here. Pick 5 product photos, run each through google/nano-banana-2.1 at 0.5K for $0.075 each ($0.375 in all), and confirm that the edit keeps the product. Then run the same 5 through Imagen 4 Fast with a text-only prompt for $0.125 and compare how well it holds a specific product. The Imagen result will not match your product because it never sees the photo, which is the point of the test.
Sources
Related posts
More in Developers
- Why input_references fails on Imagen, Recraft, Soul and Qwen Max
Five Sume image rows list zero input_references: imagen-4 fast and ultra, recraft-v4, Soul and qwen-image-max. Check the catalog in Python first.
- Is Higgsfield Genjutsu in your Sume catalog? Check, then price it
higgsfield-genjutsu appears in the catalog only when its provider is configured. List your models, then price a 4 to 30 second source at 480p or 720p.
- Is Vidu Q4 Preview on Sume? Check the live video catalog in Python
Sume's documented video catalog lists no Vidu model. A short Python check against GET /v1/videos/models confirms it before you build, plus the closest rows.
- Sume job returns 404 not_found? The key may not own that job
A valid job id can still return 404 not_found on the Sume API: API keys read only jobs their own member created. How to confirm it and what to change.
Written by Sume