API referenceScenes

Everything known about a beat, before you author it

Return the authoring envelope for each of a scene's composition elements — what the pipeline's own composition author is told about the beat it is writing.

Read this BEFORE authoring or rewriting a composition: without it, an author is guessing at numbers the system already holds.

Per element: the brief; the director's numbered beats resolved to real seconds (each beat quotes a phrase of the narration, joined here to the word timeline); the canvas and the element's own window on the scene clock; the scene-relative VO word timeline; the musical grid re-based to the element's zero; the theme's resolved colour and type roles, image style and actual ground; the camera itinerary that will move over the composition; measured anchors; the previous and next scene; and the cast, generated imagery and user library available for verbatim reuse.

Timing, theme resolution, text-fit geometry and camera authority belong to the pipeline. Author against the values returned here rather than hard-coding equivalents.

Read-only and free — no credits, no writes, no generation.

GET
/scenes/{sceneId}/authoring-context

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

sceneId*string
Formatuuid

Query Parameters

element_id?string

Narrow to one composition element. Omit for every gen:html in the scene.

detail?string

Scene packet detail. compact (default) trims the project layer and caps words to the element window; full carries everything.

Value in"compact" | "full"
kind?string

Force a composition kind instead of the inferred one.

Value in"explainer-beat" | "data-chart" | "music-visualizer" | "sticker" | "title-card" | "media-frame"

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/scenes/497f6eca-6276-4993-bfeb-53cbbbba6f08/authoring-context"
{
  "data": {
    "scene": {
      "id": "string",
      "title": "string",
      "prompt": "string",
      "chapterId": "string",
      "projectId": "string",
      "blockId": "string",
      "isComposition": true
    },
    "canvas": {
      "width": 0,
      "height": 0,
      "fps": 0,
      "durationSec": 0
    },
    "transpileDiagnostics": [
      null
    ],
    "elements": [
      {
        "elementId": "string",
        "endpoint": "string",
        "brief": "string",
        "engine": "string",
        "resolvedUrl": "string",
        "layout": {
          "canvasWidth": 0,
          "canvasHeight": 0,
          "elementWidth": 0,
          "elementHeight": 0,
          "startSec": 0,
          "durationSec": 0,
          "fullscreen": true
        },
        "beats": [
          {
            "n": 0,
            "phrase": "string",
            "change": "string",
            "atSec": 0,
            "match": "exact"
          }
        ],
        "envelope": {
          "property1": null,
          "property2": null
        },
        "packet": {
          "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"
  }
}