Which Sume image models reject input_references: five text-only rows
Five of 19 Sume image models are text-to-image only and return 400 unsupported_parameter if you send input_references. The other 14 take 5, 10 or 16 references.

Five of the 19 models in Sume's image catalog are text-to-image only: Soul, Imagen 4 Fast, Imagen 4 Ultra, Recraft V4 and Qwen Image Max. Send input_references to any of them and Sume answers 400 unsupported_parameter with a message that the model is text-to-image only; it does not drop the field and run. The other 14 accept references, with a ceiling of 5, 10 or 16. The Image API docs state the rule: a model whose input_references descriptor is {min: 0, max: 0} rejects references.
That split matters for image-to-image from an avatar or a packshot, where a wrong model choice fails on the first call instead of after a long job.
Which models take how many references?
The ceilings come from each model's input_references range descriptor. GPT Image 2.5 has the highest, 16, and Ideogram 4.5 the lowest of the edit-capable models, 5, because one reference is the image to edit and four are style references.
| Ceiling | Models |
|---|---|
| 0 (rejects references) | higgsfield/soul, google/imagen-4-fast, google/imagen-4-ultra, recraft/recraft-v4, qwen/qwen-image-max |
| 5 | ideogram/ideogram-v4.5 |
| 10 | google/nano-banana-2, google/nano-banana-pro, bytedance-seed/seedream-5-lite, bytedance-seed/seedream-4.5, bytedance-seed/seedream-4, x-ai/grok-image, qwen/qwen-image, black-forest-labs/flux.2-pro, black-forest-labs/flux.2-flex, ideogram/ideogram-v3, openai/gpt-image-2 |
| 16 | openai/gpt-image-2.5, openai/gpt-image-2.5-sunburst |
How do I filter the catalog in code?
Do not hard-code this table; the catalog is the source of truth and changes. List models and keep the ones whose input_references.max covers your need.
import os, requests
r = requests.get("https://api.sume.com/v1/images/models", timeout=30,
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"})
r.raise_for_status()
need = 2
for m in r.json()["data"]:
ref = m["supported_parameters"].get("input_references", {})
if ref.get("max", 0) >= need:
print(m["id"], ref["max"])What do I do when I pick a text-only model by mistake?
Fix the model, not the request. A failed request is not billed, so the mistake costs a call, not money. Reference URLs must also be public HTTPS; Sume rejects localhost, private-network and non-HTTPS URLs before it submits.
Sources
Related posts
More in Models
- Which AI video models take an end frame or reference clips on Sume
Sume's catalog flags show who accepts text-to-video, an end frame, reference images, clips and audio, and who edits video. Grok is image-to-video only.
- 12 weekly 6-second ads: Omni $9.00, Kling 3 $15.12, Seedance $41.60
A weekly batch of twelve 6-second 9:16 ads on Sume at 720p: Gemini Omni Flash $9.00, Kling 3 with sound $15.12, Seedance 2.5 about $41.60.
- 2:1 and 1:2 ratio images: which Sume models list them and the cost
8 Sume image models list 2:1 (wide) and 1:2 (tall); Nano Banana, Seedream, GPT and Imagen do not. Prices from $0.025 and the 4:1 workaround.
- 21:9 cinematic AI video API: which Sume models accept ultrawide
Seedance 2.5, Seedance 2.0, MiniMax H3 and H3 Max accept 21:9 on Sume. Kling, Wan, Omni and Grok do not. A 5-second H3 Max 768p clip is $0.50.
Written by Sume