Create and monitor a generation
Submit an estimated request with an API key, then read the generation until it reaches a terminal state.
On this page
Creation is the first paid step. It requires an organization API key and enough available balance for the current estimate. Running a request in Playground is optional; direct API integrations can create it through REST.
Create one intended generation
Send a stable Idempotency-Key with the same payload you estimated. A successful request returns 201, a gen_... identifier, the queued status, the estimated cost, and a links.self URL.
Read until terminal
Poll links.self while status is queued or running. Stop when status becomes succeeded, failed, cancelled, or manual_review.
Successful output contains an ordered assets array. Tasks that return structured results also include output.data. Asset URLs can expire, so persist finished media according to your own retention requirements.
Read Statuses before automating terminal handling.
Submit the generation
Authorization: Bearer efapi_live_...curl https://api.entirefeed.com/v1/generations \
-X POST \
-H "Authorization: Bearer $ENTIREFEED_API_KEY" \
-H "Idempotency-Key: quickstart-video-001" \
-H "Content-Type: application/json" \
-d '{
"task": "video.create",
"model": "seedance-2",
"input": {
"prompt": "A crisp product reveal on a clean studio set",
"duration_seconds": 8,
"aspect_ratio": "9:16",
"resolution": "720p"
}
}'{
"id": "gen_0123456789abcdef0123456789abcdef",
"object": "generation",
"status": "queued",
"model": "seedance-2",
"task": "video.create",
"created_at": "2026-07-12T08:30:00Z",
"estimated_cost": {
"amount_usd": "1.64"
},
"links": {
"self": "https://api.entirefeed.com/v1/generations/gen_0123456789abcdef0123456789abcdef"
}
}Poll the generation resource
curl https://api.entirefeed.com/v1/generations/gen_0123456789abcdef0123456789abcdef \
-X GET \
-H "Authorization: Bearer $ENTIREFEED_API_KEY"{
"id": "gen_0123456789abcdef0123456789abcdef",
"object": "generation",
"status": "succeeded",
"model": "seedance-2",
"task": "video.create",
"created_at": "2026-07-12T08:30:00Z",
"completed_at": "2026-07-12T08:31:14Z",
"output": {
"assets": [
{
"id": "asset_0123456789abcdef0123456789abcdef",
"type": "video",
"url": "https://cdn.entirefeed.com/examples/product-reveal.mp4",
"mime_type": "video/mp4",
"expires_at": null
}
]
},
"usage": {
"amount_usd": "1.64",
"line_items": [
{
"type": "video_generation",
"model": "seedance-2",
"quantity": 1,
"unit": "operation",
"amount_usd": "1.64"
}
],
"billing_status": "settled"
},
"error": null,
"metadata": null
}Read output and final usage
Preserve output.assets order when the task returns more than one file.
Processing tasks can add machine-readable results under output.data.
Read the amount and billing status together after terminal completion.