Api referenceExports

Create export task

POST
/v1/exports

Idempotency is optional.

  • If Idempotency-Key is provided, request replay uses header idempotency.
  • If header is omitted but clientTaskId is provided, task deduplication uses clientTaskId.
  • If both are omitted, every request creates a new task.
  • Active cloud exports are limited by the workspace subscription entitlement. Web, Open API, and Indream Agent exports share the same workspace concurrency pool; when exceeded, API returns 422 OPEN_API_EXPORT_CONCURRENCY_LIMIT_EXCEEDED.
  • Use this route for one-off export. Use /v1/projects and /v1/projects/{projectId}/exports when you need persistence.

Authorization

BearerAuth
AuthorizationBearer <token>

Send an existing generated API key as Authorization: Bearer sk_indream_.... OAuth access tokens are not accepted by the Open API. Enter the API key manually in the interactive docs playground. The value is stored only in the current browser and is not injected from server environment variables.

In: header

Header Parameters

Idempotency-Key?string

Optional idempotency key for project creation and export creation requests. When provided, the server replays the first completed response for the same request payload.

Request Body

application/json

clientTaskId?string
Lengthlength <= 128
filename?string
Length1 <= length <= 255
editorState*
stateSchemaVersion*string
fps*integer
Value in30 | 60
compositionWidth?integer
Range50 <= value <= 1920
compositionHeight?integer
Range50 <= value <= 1920
ratio*string
Value in"16:9" | "9:16" | "1:1" | "4:3" | "3:4" | "custom"
scale*number
Range0.6 <= value <= 8
format*string
Value in"mp4" | "webm"
callbackUrl?string
Lengthlength <= 1024
callbackHeaders?

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.indream.ai/v1/exports" \  -H "Content-Type: application/json" \  -d '{    "editorState": {      "stateSchemaVersion": "v1",      "compositionWidth": 50,      "compositionHeight": 50,      "timebaseTicksPerSecond": 240000,      "tracks": [        {          "id": "string",          "items": [            "string"          ],          "hidden": true,          "muted": true        }      ],      "assets": {        "property1": {          "id": "string",          "type": "image",          "filename": "string",          "size": 0,          "mimeType": "string",          "width": 1,          "height": 1        },        "property2": {          "id": "string",          "type": "image",          "filename": "string",          "size": 0,          "mimeType": "string",          "width": 1,          "height": 1        }      },      "items": {        "property1": {          "id": "string",          "type": "image",          "durationTicks": 1,          "startTicks": 0,          "isDraggingInTimeline": true,          "top": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "left": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "width": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "height": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "scaleX": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "scaleY": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "opacity": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "assetId": "string",          "keepAspectRatio": true,          "borderRadius": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "rotation": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          }        },        "property2": {          "id": "string",          "type": "image",          "durationTicks": 1,          "startTicks": 0,          "isDraggingInTimeline": true,          "top": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "left": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "width": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "height": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "scaleX": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "scaleY": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "opacity": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "assetId": "string",          "keepAspectRatio": true,          "borderRadius": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          },          "rotation": {            "value": 0,            "keyframes": [              {                "timeTicks": 0,                "value": 0              }            ]          }        }      },      "transitions": {        "property1": {          "id": "string",          "trackId": "string",          "fromClipId": "string",          "toClipId": "string",          "type": "fade",          "durationTicks": 1        },        "property2": {          "id": "string",          "trackId": "string",          "fromClipId": "string",          "toClipId": "string",          "type": "fade",          "durationTicks": 1        }      }    },    "stateSchemaVersion": "v1",    "fps": 30,    "ratio": "16:9",    "scale": 0.6,    "format": "mp4"  }'
{
  "data": {
    "taskId": "string",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "createdAt": "2019-08-24T14:15:22Z",
    "durationSeconds": 0,
    "billedStandardSeconds": 0,
    "chargedCredits": "string"
  },
  "meta": {}
}
{
  "type": "FORBIDDEN",
  "title": "Forbidden",
  "status": 403,
  "detail": "The current account is not eligible for this Open API route",
  "errorCode": "OPEN_API_RUNTIME_ACCESS_FORBIDDEN"
}
{
  "type": "FORBIDDEN",
  "title": "Forbidden",
  "status": 403,
  "detail": "The current account is not eligible for this Open API route",
  "errorCode": "OPEN_API_RUNTIME_ACCESS_FORBIDDEN"
}
{
  "type": "FORBIDDEN",
  "title": "Forbidden",
  "status": 403,
  "detail": "The current account is not eligible for this Open API route",
  "errorCode": "OPEN_API_RUNTIME_ACCESS_FORBIDDEN"
}
{
  "type": "FORBIDDEN",
  "title": "Forbidden",
  "status": 403,
  "detail": "The current account is not eligible for this Open API route",
  "errorCode": "OPEN_API_RUNTIME_ACCESS_FORBIDDEN"
}
{
  "type": "FORBIDDEN",
  "title": "Forbidden",
  "status": 403,
  "detail": "The current account is not eligible for this Open API route",
  "errorCode": "OPEN_API_RUNTIME_ACCESS_FORBIDDEN"
}