Skip to article
Documentation

Search documentation

Search stays in this browser. Queries are not sent or saved. Do not paste credentials.

Loading the public search index…

Tab or arrow keys to navigate · Enter to open · Esc to close
Browse documentation

Create animation export

Source-generated POST /animation-exports reference: authentication, fields, responses, errors, and operational safeguards.

Public betaAPI v1 · 1.3.0Last verified
On this page

Operation

POST /animation-exports

operationId: create_animation_export_v1_animation_exports_post

Start a paid asynchronous task. Quote first and obtain user approval. Persist the returned ID; 202 means accepted, not complete. Reuse the same Idempotency-Key, credential identity, and unchanged request after an uncertain response. Creation recalculates price; Public API quotes do not lock it and max_credits/quote_id are not API request fields. Poll using Retry-After and inspect outputs at every terminal state, including failure.

Authentication and side effects

Use a server-side Bearer API key. Required scope: animations:write

This creates paid work. Obtain approval before submission. API quotes do not lock a price or enforce a maximum budget.

Parameters

Parameter Location Type Required Constraints / default Meaning
Idempotency-Key header string Yes minLength: 8; maxLength: 200 Persist once per logical operation; reuse with the same credential and unchanged body. Changing credentials changes the deduplication scope.

Request body (application/json)

Body required: true

Field Type Required Default Constraints Meaning
export ExportOptions No {"frame_count":24,"output_formats":["spritesheet"],"output_height":512,"output_width":512,"transparent":{"enabled":false},"unity":{"pivot":"bottom_center","pixels_per_unit":100}} Output formats and processing settings.
metadata object No {} Simple scalar/null metadata; at most 4 KiB JSON, no credentials.
selection Selection No {"duration_seconds":null,"mode":"full","start_seconds":0} Source interval to export.
source_video_asset_id string Yes format: uuid Owned source video asset ID, not a task ID. Reuse an existing video to avoid generating motion again.

Full nested schema: AnimationExportCreateRequest

Request example

json
{
  "export": {
    "frame_count": 24,
    "output_formats": [
      "frames_zip"
    ],
    "output_height": 512,
    "output_width": 512
  },
  "selection": {
    "mode": "full"
  },
  "source_video_asset_id": "00000000-0000-4000-8000-000000000003"
}

Responses

HTTP Body Meaning
202 TaskResponse Accepted asynchronously; poll the task ID.
400 APIErrorEnvelope Invalid input; correct the request before retrying.
401 APIErrorEnvelope Missing, expired, or revoked API key.
402 APIErrorEnvelope Insufficient credits; do not automatically purchase.
403 APIErrorEnvelope Account eligibility, account status, or key scope does not allow this operation.
404 APIErrorEnvelope Resource is unavailable, not owned, or its signature is invalid/expired.
409 APIErrorEnvelope Idempotency conflict; only IDEMPOTENCY_IN_PROGRESS is retryable with the original request.
413 APIErrorEnvelope Request or decoded image exceeds the configured limit.
415 APIErrorEnvelope Use supported image media types.
422 APIErrorEnvelope Decoded image dimensions exceed the allowed size.
429 APIErrorEnvelope Account-wide rate or queue limit; wait for Retry-After.
500 APIErrorEnvelope Internal failure; preserve the task/key and retry only when marked retryable.
503 APIErrorEnvelope Service/provider unavailable; retry only when error.retryable is true.

Response headers

HTTP Header Type Meaning
202 Retry-After integer Suggested wait in seconds; respect the server value and an overall deadline.
429 Retry-After integer Suggested wait in seconds; respect the server value and an overall deadline.
503 Retry-After integer Suggested wait in seconds; respect the server value and an overall deadline.

Response example

json
{
  "created_at": "2026-08-30T00:00:00Z",
  "credits": {
    "charged": 0,
    "held": 1,
    "quoted": 1
  },
  "error": null,
  "finished_at": null,
  "id": "00000000-0000-4000-8000-000000000002",
  "metadata": {},
  "normalized_input": {},
  "object": "animation_export",
  "outputs": [],
  "progress": 0,
  "stage": "queued",
  "started_at": null,
  "status": "queued"
}

Polling and downloads · Errors and safe retries

Was this page helpful?

No search queries, code, or free text are collected. This switch controls documentation interactions only; general site analytics follow the privacy policy. Privacy policy

Need a hand? Contact support