DocsGenerateCreate and monitor
Generate

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.

01

Submit the generation

Organization API keyAuthorization: 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"
  }
}'
201 Queued generation
{
  "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"
  }
}
02

Poll the generation resource

curl https://api.entirefeed.com/v1/generations/gen_0123456789abcdef0123456789abcdef \
  -X GET \
  -H "Authorization: Bearer $ENTIREFEED_API_KEY"
200 Succeeded generation
{
  "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
}
03

Read output and final usage

Ordered assets

Preserve output.assets order when the task returns more than one file.

Structured data

Processing tasks can add machine-readable results under output.data.

Final usage

Read the amount and billing status together after terminal completion.