API referenceMedia

Ingest a video link (admin-only)

ADMIN-ONLY. Download a public video from a link — X/Twitter, TikTok, Reddit, Instagram, a direct file, or a file already on Typecut storage — and host it as a library video with poster, subtitles and source metadata, ready for analysis.

Free. Asynchronous: the first call returns 202 status: "pending"; call again with the same url to poll (200, same asset). A failed ingest is retried by calling again. YouTube is refused (422 youtube_unsupported): it blocks server downloads.

POST
/media/ingest-url

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

application/json

curl -X POST "https://example.com/media/ingest-url" \  -H "Content-Type: application/json" \  -d '{    "url": "http://example.com"  }'
{
  "data": {
    "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
    "status": "pending",
    "video_url": "string",
    "poster_url": "string",
    "duration_sec": 0,
    "width": 0,
    "height": 0,
    "title": "string",
    "subtitles": [
      {
        "lang": "string",
        "auto": true,
        "url": "string"
      }
    ],
    "error": {
      "code": "string",
      "message": "string"
    },
    "reused": true
  }
}
{
  "data": {
    "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
    "status": "pending",
    "video_url": "string",
    "poster_url": "string",
    "duration_sec": 0,
    "width": 0,
    "height": 0,
    "title": "string",
    "subtitles": [
      {
        "lang": "string",
        "auto": true,
        "url": "string"
      }
    ],
    "error": {
      "code": "string",
      "message": "string"
    },
    "reused": true
  }
}
{
  "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"
  }
}
{
  "error": {
    "type": "string",
    "code": "string",
    "message": "string"
  }
}