Generations
One polling endpoint for every media type, and a list of what you have
submitted. The id is the one returned by the submitting POST, not the
provider's id.
List generations
The generations submitted with your API keys, newest first, each in the shape the polling endpoint returns. It does not count against your quota.
Output URLs are signed when the list is read and stay valid for at least 24 hours.
query Parameters
typeReturn only this media type.
statusReturn only generations currently in this state.
fromOnly generations submitted at or after this ISO 8601 instant (UTC when no offset is given).
toOnly generations submitted at or before this ISO 8601 instant (UTC when no offset is given).
limitPage size. Values outside 1–50 are clamped into that range.
pagePage number, starting at 1. Values below 1 are treated as 1, and pages above 1000 are refused.
List generations › Responses
One page of generations.
Newest first. A generation whose record was removed is left out.
pageThe page that was returned.
has_moreWhether a later page exists.
Poll a generation
Current state of one generation. Polling does not count against your quota; every few seconds is a reasonable cadence.
output is empty until status is succeeded, and again once the media
is deleted after 90 days. Its shape depends on type; see the response
schema. Output URLs are signed and stay valid for at least 24 hours, so
re-poll rather than storing them long-term.
credits_charged is what was debited at submission and never changes.
credits_refunded is what has come back since: the full amount once a
failed generation is refunded, the undelivered seconds when a
per-second video comes back at least 2 seconds short, or the unused part
of a seedance25 edit/extend charge after settlement.
path Parameters
idThe id returned by the submitting POST.
Poll a generation › Responses
Current state.
idtypemodelThe model as you requested it.
statusprocessing until the provider returns. Terminal states are
succeeded and failed; neither changes afterwards.
credits_chargedWhat was debited at submission. Never changes.
credits_refundedWhat has come back since: the full credits_charged once a failed
generation is refunded, the undelivered seconds when a per-second
video comes back at least 2 seconds short, or the unused part of a
seedance25 edit/extend hold after settlement. credits_charged minus
this is what the generation really cost.
created_atEmpty until succeeded. Item shape follows type:
- image and video —
urlandthumbnail. Video always returns exactly one item. - music — two items, each with
title,url,cover_imageandduration. - speech — one item with
url.
Every URL is signed and expires 24 hours after it was minted.
failure_reasonPresent only when status is failed.
| Value | Meaning |
|---|---|
MODERATION | The prompt or an input image was refused by a safety filter. |
COPYRIGHT | Named artist, protected lyrics or other rights-holder material. |
INVALID_INPUT | An input file was unusable — wrong type, too large, no detectable subject. |
OUTPUT_FILTERED | The model rendered something and then refused to return it. |
TIMEOUT | The provider did not finish in time. |
PROVIDER_ERROR | Upstream failure during submission or rendering. |
UNKNOWN | No reason was recorded. |