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.
Authorization
bearerAuth 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"
}
}Import an external asset POST
Download an EXTERNAL url (a discovery result, a file on the web) and re-host it on Typecut storage as a library asset with provenance + dimensions, captioned on ingest.
Transcribe a recording in the library POST
Read the words out of an audio or video asset already in the library and record them as a project SOURCE, with word-level timings.