API referenceMedia

Generate a video clip

ONE standalone clip (≤ 8 s) into the media library: image-to-video from asset_id / image_url, or text-to-video from the prompt.

SPENDS CREDITS per second (generation type video-gen); dry_run quotes. Clips take 30 s to a few minutes: waits ~50 s, then 202 status: "generating" — poll GET /generations/{id} or POST /status. A failed job refunds its credits.

POST
/media/video

Authorization

bearerAuth
AuthorizationBearer <token>

Typecut API key. Generate one in app.typecut.ai → Settings → API keys. Send as Authorization: Bearer tc_live_….

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/media/video" \  -H "Content-Type: application/json" \  -d '{    "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",    "prompt": "string"  }'
{
  "data": {
    "kind": "video",
    "dry_run": true,
    "credits": 0,
    "available": 0,
    "generation_id": "a3c889df-e7ae-4ae9-9838-8884129ade5e",
    "credits_used": 0,
    "status": "completed",
    "error": "string",
    "result": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "data": {
    "kind": "video",
    "dry_run": true,
    "credits": 0,
    "available": 0,
    "generation_id": "a3c889df-e7ae-4ae9-9838-8884129ade5e",
    "credits_used": 0,
    "status": "completed",
    "error": "string",
    "result": {
      "property1": null,
      "property2": null
    }
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}