Stream partial images from the Sume Image API? 400, use async events

stream: true returns 400 streaming_not_supported and every catalog row reports supports_streaming false. For progress, submit async and read job events.

5 min readSume
All posts

No streaming today. Every row in GET /v1/images/models reports supports_streaming: false, and stream: true returns 400 streaming_not_supported. The field is in the schema so that clients written for the streaming form need no code change when Sume ships it. Until then, use mode: "async" and read GET /v1/jobs/{id}/events, or a webhook for the terminal event.

What each mode gives you

The Image API docs warn that mode: "subscribe" is not a progress stream: it is an alias of sync and gives one bounded 30-second wait.

Sume Image API docs and repo, read 2026-10-13
ModeWhat you get
sync (default on this route)One wait up to 30s, then 200 or a 202 envelope
subscribeSame as sync
async202 at once; poll status or read events
webhook202 at once; terminal callback to your HTTPS URL

A progress-friendly flow

Submit async, show a spinner from the status poll, and replace it with the image URL when terminal and result_ready are true. Image jobs are short, so a poll every few seconds, honoring next_poll_after_seconds, is enough for a UI.

Skeleton cards in the UI cost nothing and hide the wait better than partial images would.

curl -s https://api.sume.com/v1/images \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/gpt-image-2.5","prompt":"lighthouse at dusk","mode":"async"}'

Reference

The job pattern is in Jobs and results. Current credits are on the rate card.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume