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.

5 min readSume
All posts

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.

input_references ceilings, Sume image catalog, read 2026-10-06
CeilingModels
0 (rejects references)higgsfield/soul, google/imagen-4-fast, google/imagen-4-ultra, recraft/recraft-v4, qwen/qwen-image-max
5ideogram/ideogram-v4.5
10google/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
16openai/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

All Models posts

Written by Sume