API referenceImports

Import a single-file HTML video, split into scenes

A video made elsewhere as ONE HTML file (a master GSAP timeline, every scene inline, often an <audio>) becomes a chapter of scenes: in a new project (workspace_id) or appended to one (project_id).

A video made elsewhere as ONE HTML file (a master GSAP timeline, every scene inline, often an <audio>) becomes a chapter of scenes: in a new project (workspace_id) or appended to one (project_id). Inline HyperFrames sub-compositions become scenes with their own documents; the rest is cut by time (GSAP labels, else section visibility windows, else full-frame clears, else shot changes on a low-res render; cuts overrides) into slices of ONE hosted copy of the file, each pixel-identical to its window. Root audio becomes the project music, or the voice (audio: "voice": a speech clip per scene on the recording's transcribe_media transcript). Free. Non-seekable code is flagged; verify render-checks each scene and video_url turns a failing one into a clip of the file's own render. dry_run analyses and proposes, creating nothing. Staff and authoring-pilot accounts land; dry_run is open to all.

POST
/imports/html

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

curl -X POST "https://example.com/imports/html" \  -H "Content-Type: application/json" \  -d '{}'
{
  "data": {}
}
{
  "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"
  }
}