{
  "components": {
    "headers": {
      "Deprecation": {
        "description": "Indicates that an API operation is deprecated, following RFC 9745",
        "example": "@1767225600",
        "schema": {
          "type": "string"
        }
      },
      "RateLimit": {
        "description": "Current quota with remaining requests (`r`) and seconds until reset (`t`)",
        "example": "\"public-api\";r=95;t=42",
        "schema": {
          "type": "string"
        }
      },
      "RateLimitPolicy": {
        "description": "Named quota policy with the request limit (`q`) and window in seconds (`w`)",
        "example": "\"public-api\";q=100;w=60",
        "schema": {
          "type": "string"
        }
      },
      "RetryAfter": {
        "description": "Seconds to wait before retrying a rate-limited request",
        "example": 45,
        "schema": {
          "minimum": 1,
          "type": "integer"
        }
      },
      "Sunset": {
        "description": "Indicates when a deprecated API operation will become unavailable, following RFC 8594",
        "example": "Tue, 30 Jun 2026 23:59:59 GMT",
        "schema": {
          "type": "string"
        }
      },
      "XRateLimitLimit": {
        "description": "Maximum requests allowed in the current window",
        "example": 100,
        "schema": {
          "type": "integer"
        }
      },
      "XRateLimitRemaining": {
        "description": "Requests remaining in the current window",
        "example": 95,
        "schema": {
          "type": "integer"
        }
      },
      "XRateLimitReset": {
        "description": "Unix timestamp in milliseconds when the window resets",
        "example": 1704067200000,
        "schema": {
          "format": "int64",
          "type": "integer"
        }
      }
    },
    "schemas": {
      "AccountCreditPackage": {
        "additionalProperties": false,
        "properties": {
          "credits": {
            "description": "Credits in the package",
            "type": "number"
          },
          "id": {
            "description": "Package ID",
            "example": "credits_1000",
            "type": "string"
          },
          "priceCents": {
            "description": "Price in US cents",
            "type": "number"
          }
        },
        "required": [
          "id",
          "credits",
          "priceCents"
        ],
        "type": "object"
      },
      "AccountCredits": {
        "additionalProperties": false,
        "description": "Agent credits, spent by the editor agent, AI generation and auto capture. Absent when credits aren't set up for the workspace.",
        "properties": {
          "balance": {
            "description": "Agent credits left",
            "type": "number"
          },
          "canPurchase": {
            "description": "Whether you can buy more (workspace owners only)",
            "type": "boolean"
          },
          "monthlyAllowance": {
            "description": "Credits the plan grants each month",
            "type": "number"
          },
          "packages": {
            "items": {
              "$ref": "#/components/schemas/AccountCreditPackage"
            },
            "type": "array"
          }
        },
        "required": [
          "balance",
          "canPurchase",
          "packages"
        ],
        "type": "object"
      },
      "AccountPlan": {
        "additionalProperties": false,
        "properties": {
          "cancelsAtPeriodEnd": {
            "type": "boolean"
          },
          "name": {
            "description": "The workspace's plan. Any paid plan exports in 4K; 60 FPS needs Premium (or Pro for videos up to 5 minutes).",
            "enum": [
              "free",
              "pro",
              "premium",
              "enterprise",
              "enterprise-premium"
            ],
            "type": "string"
          },
          "status": {
            "description": "Stripe subscription status: active, trialing, past_due, … Absent on Free.",
            "example": "trialing",
            "type": "string"
          },
          "trialEndsAt": {
            "description": "When the trial ends, while trialing (ISO 8601)",
            "type": "string"
          }
        },
        "required": [
          "name",
          "cancelsAtPeriodEnd"
        ],
        "type": "object"
      },
      "AddClipLayoutRequest": {
        "additionalProperties": false,
        "description": "Add a layout to a clip",
        "properties": {
          "cameraStyle": {
            "description": "The camera's frame shape, as the editor's Camera style picker sets it, overriding the named layout's own: `circle`, `square`, `portrait`, `none` (a rectangle in the camera slot's aspect, rounded by the clip's `corners`, e.g. a squircle when corners are `squircle`), `cutout` (the presenter cut out of the camera feed with no frame or room, in the layout's camera position — e.g. `camera-bubble` with `style: full` and `position: bottom-left` for a full-screen recording with a cut-out presenter in the corner; it switches pop-out off), `blob` or `blob-outline`. It shapes the camera bubble and the pop-out frame. Null clears it so the layout's own shape applies; omitted leaves it as it is. Needs a camera recording and a named layout that frames the camera (not cut-out, screen-only or custom; on a custom layout set `presentation.shape`).",
            "enum": [
              "none",
              "circle",
              "square",
              "portrait",
              "cutout",
              "blob",
              "blob-outline"
            ],
            "nullable": true,
            "type": "string"
          },
          "crop": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutCrop"
              }
            ],
            "description": "Crop the clip's screen recording for this layout only — the editor's crop modal on “This layout only”. Other layouts keep following the clip's crop; `null` makes this layout follow it again. Masks that start in the layout stay anchored to their content, and a custom layout's screen box keeps its on-canvas scale unless the same request writes `layout` geometry. Needs a screen recording or an uploaded video in the clip. To crop the recording across the whole clip use auto-crop.",
            "nullable": true
          },
          "durationMs": {
            "description": "Optional. Provide together with startTimeMs for a time-ranged layout. Minimum 200ms.",
            "maximum": 9007199254740991,
            "minimum": 200,
            "type": "integer"
          },
          "layout": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutShape"
              }
            ],
            "description": "Layout shape. May be omitted when media is provided to use the default full-frame B-roll layout."
          },
          "media": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipMedia"
              }
            ],
            "description": "Optional media content to show during this layout. Only valid on time-ranged layouts."
          },
          "popOut": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipPopOut"
              }
            ],
            "description": "Pop the presenter out of the camera frame. Omitted or null leaves it off.",
            "nullable": true
          },
          "startTimeMs": {
            "description": "Optional. Provide together with durationMs for a time-ranged layout. In ms on the clip's playback timeline (cuts applied).",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transitionStyle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LayoutTransitionStyle"
              }
            ],
            "description": "Optional. Only valid on time-ranged layouts. Defaults to the user's saved layout intro transition when omitted. The user's saved layout outro transition is applied when the following layout begins or resumes."
          }
        },
        "type": "object"
      },
      "AddClipMaskRequest": {
        "additionalProperties": false,
        "description": "Add a blur or highlight mask. Targets the footage in the clip's Screen slot at startTimeMs: the screen recording, or b-roll media a layout puts there. Times are in ms on the clip's playback timeline (cuts applied).",
        "properties": {
          "dimensions": {
            "$ref": "#/components/schemas/MaskDimensions"
          },
          "durationMs": {
            "example": 2000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "intensity": {
            "description": "Strength from 0 to 1. Blur: 0 is the standard blur and 1 blurs three times as heavily; the content stays fully hidden at every value (defaults to 0). Highlight: how dark the area outside the highlight goes, 0 = no dimming, 1 = black (defaults to 0.7).",
            "example": 0.7,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "point": {
            "$ref": "#/components/schemas/MaskPoint"
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "`smooth` fades the mask in and out, `hard_cut` pops it. New masks start on `hard_cut`."
          }
        },
        "required": [
          "startTimeMs",
          "durationMs",
          "point",
          "dimensions"
        ],
        "type": "object"
      },
      "AddClipOverlayRequest": {
        "additionalProperties": false,
        "description": "Add an image or video overlay to a clip. Upload the bytes via `POST /v1/sources` (`kind: image` or `kind: video`) and pass the `sourceId`; the overlay type follows the source's kind. Or pass `motionDocumentId` to show a Tella Motion document of the video's. When `point`/`dimensions` are omitted, a centered box is computed from the source.",
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ]
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "example": 5000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "motionDocumentId": {
            "description": "In place of `sourceId`: a Tella Motion document of this video's (ffd_…, from `POST /v1/motion/documents`), shown as the overlay. It is linked, not copied: it plays live, so edits to the document show in the video at once.",
            "example": "ffd_abc123",
            "type": "string"
          },
          "name": {
            "example": "Logo",
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "sourceId": {
            "description": "Source ID from `POST /v1/sources` (`kind: image` or `kind: video`). The overlay type follows the source's kind. Pass this or `motionDocumentId`.",
            "example": "su_abc123",
            "type": "string"
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the overlay in at its start and out at its end, `hard_cut` pops it in and out. An `animation` replaces it while set."
          }
        },
        "required": [
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "AddClipRequest": {
        "additionalProperties": false,
        "description": "Add a new clip from an uploaded source.",
        "properties": {
          "name": {
            "description": "Clip name. Defaults to the next `Clip N`.",
            "example": "Intro",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "sourceId": {
            "description": "Source ID from `POST /v1/sources`.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "sourceId"
        ],
        "type": "object"
      },
      "AddClipShapeOverlayRequest": {
        "additionalProperties": false,
        "description": "Add a shape overlay to a clip. Defaults: a square in Tella purple, no border or shadow. When `point`/`dimensions` are omitted it is a centered square a third of the artboard's longer side.",
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ]
          },
          "border": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShapeBorder"
              }
            ],
            "description": "A line just inside the outline, or null for none."
          },
          "corners": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ],
            "description": "How a square's corners are rounded."
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "example": 5000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "fill": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipBackground"
              }
            ],
            "description": "What fills the shape, cut to its outline: any clip background except `ambient`. A solid `#00000000` leaves only the border."
          },
          "name": {
            "description": "Label in the editor's timeline.",
            "type": "string"
          },
          "path": {
            "description": "A custom outline as SVG path data (`d`) in a 0–100 box; it stretches with the overlay box. Sending it makes the shape a `path`. Closed subpaths (ending in Z) are filled; an open path shows only its `border`, drawn centred on the line.",
            "example": "M50 0 L100 100 L0 100 Z",
            "maxLength": 10000,
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "shadow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayShadow"
              }
            ]
          },
          "shapeType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShapeType"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the shape in and out, `hard_cut` pops it. An `animation` replaces it while set."
          }
        },
        "required": [
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "AddClipSoundEffectRequest": {
        "additionalProperties": false,
        "description": "Add a sound effect to a clip, from Tella's curated catalog (`presetId`) or from your own audio (`sourceId`).",
        "properties": {
          "durationMs": {
            "example": 3000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "example": "Whoosh",
            "type": "string"
          },
          "presetId": {
            "description": "Preset ID of a curated Tella sound effect, from a `default` item in `GET /v1/library?scope=default`. Placing one copies the effect into a source owned by your workspace, so nothing needs uploading. Mutually exclusive with `sourceId`; exactly one is required.",
            "example": "cha-ching",
            "type": "string"
          },
          "sourceId": {
            "description": "Source ID for the audio, from `POST /v1/sources` (`kind: audio` with the audio's duration) or from a `private`/`workspace` item in `GET /v1/library?type=sound-effect`. When uploading, send the audio file as-is — MP3, WAV, M4A, … — no need to wrap it in an MP4. Mutually exclusive with `presetId`; exactly one is required.",
            "example": "su_abc123",
            "type": "string"
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "volume": {
            "description": "Playback volume (0 = muted, 1 = original). Defaults to 1.",
            "example": 1,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "AddClipTextOverlayRequest": {
        "additionalProperties": false,
        "description": "Add a text overlay to a clip. Nothing needs uploading — pass the copy directly. When `point`/`dimensions` are omitted, a centered box 60% of the artboard wide and 25% tall is used.",
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ]
          },
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackground"
              }
            ],
            "description": "Background behind the text. Defaults to transparent."
          },
          "backgroundPadding": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundPadding"
              }
            ],
            "description": "Defaults to 0, or the preset's."
          },
          "backgroundShape": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ],
            "description": "Defaults to none."
          },
          "color": {
            "description": "Defaults to white.",
            "example": "#FFFFFFFF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "example": 5000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "fontFamily": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayFontFamily"
              }
            ],
            "description": "One of Tella's catalog font families. Defaults to Inter. Anything outside the catalog is rejected rather than silently falling back; use `fontId` for an uploaded font."
          },
          "fontId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayFontId"
              }
            ]
          },
          "fontSize": {
            "description": "Font size in artboard pixels. Defaults to 7.5% of the video's shorter side, which is the editor's default and readable at any canvas size.",
            "example": 81,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "fontWeight": {
            "description": "Variable-font weight axis — 100 (thin) to 900 (black), 500 by default. Values outside the chosen font's own axis range are clamped when rendered.",
            "example": 500,
            "maximum": 1000,
            "minimum": 1,
            "type": "number"
          },
          "fontWidth": {
            "description": "Variable-font width axis, as a percentage — 100 is normal, 50 ultra-condensed, 150 extra-expanded, 100 by default. Values outside the chosen font's own axis range are clamped when rendered.",
            "example": 100,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "outline": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayOutline"
              }
            ],
            "description": "Defaults to no outline, or the preset's."
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "presetId": {
            "description": "A preset from GET /v1/text-presets — `default:<id>` for a built-in style or a saved preset's ID. Supplies the font, weight, width, color, size, alignment, background, background shape, background padding and outline (not the shadow); any of those fields sent alongside overrides the preset's value.",
            "example": "default:label",
            "minLength": 1,
            "type": "string"
          },
          "shadow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayShadow"
              }
            ],
            "description": "Defaults to none."
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "text": {
            "example": "Welcome back",
            "minLength": 1,
            "type": "string"
          },
          "textAlign": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayTextAlign"
              }
            ],
            "description": "Defaults to center."
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the text in at its start and out at its end, `hard_cut` pops it in and out. An `animation` replaces it while set."
          }
        },
        "required": [
          "text",
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "AddClipZoomRequest": {
        "additionalProperties": false,
        "description": "Add a zoom to the footage in the clip's Screen slot at startTimeMs — the screen recording, or b-roll media a layout puts there (the camera is unaffected). Use `manualZoom` with a `focusPoint`, or `trackingZoom` to follow the cursor.",
        "properties": {
          "durationMs": {
            "example": 2000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "focusPoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZoomFocusPoint"
              }
            ]
          },
          "introTransition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "How the zoom enters: `smooth` (the default) animates in, `hard_cut` jumps straight in.",
            "example": "hard_cut"
          },
          "outroTransition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "How the zoom leaves: `smooth` (the default) animates out, `hard_cut` jumps straight back."
          },
          "scale": {
            "description": "Magnification factor (1 = no zoom, 3.5 = max). Required — a zoom without a scale cannot be rendered.",
            "example": 2,
            "maximum": 3.5,
            "minimum": 1,
            "type": "number"
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "description": "`manualZoom` zooms into a fixed `focusPoint` on the screen. `trackingZoom` automatically follows the cursor in the screen recording.",
            "enum": [
              "manualZoom",
              "trackingZoom"
            ],
            "example": "manualZoom",
            "type": "string"
          }
        },
        "required": [
          "type",
          "startTimeMs",
          "durationMs",
          "scale"
        ],
        "type": "object"
      },
      "AddCollaboratorRequest": {
        "additionalProperties": false,
        "description": "Request body for adding a collaborator to a video",
        "properties": {
          "email": {
            "description": "Email address of the user to add. Must be a member of your workspace.",
            "example": "editor@example.com",
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
            "type": "string"
          },
          "role": {
            "description": "Role to grant. Allowed values: 'editor' or 'viewer'.",
            "enum": [
              "editor",
              "viewer"
            ],
            "example": "editor",
            "type": "string"
          }
        },
        "required": [
          "email",
          "role"
        ],
        "type": "object"
      },
      "AddCollaboratorResponse": {
        "additionalProperties": false,
        "description": "Response after adding a collaborator to a video",
        "properties": {
          "collaborator": {
            "$ref": "#/components/schemas/Collaborator"
          }
        },
        "required": [
          "collaborator"
        ],
        "type": "object"
      },
      "AddVideoRequest": {
        "additionalProperties": false,
        "description": "Request body for adding a video to a playlist",
        "properties": {
          "videoId": {
            "description": "ID of the video to add to the playlist",
            "example": "vid_xyz789ghi012",
            "type": "string"
          }
        },
        "required": [
          "videoId"
        ],
        "type": "object"
      },
      "AddVideoTagRequest": {
        "additionalProperties": false,
        "description": "Request body for tagging a video",
        "properties": {
          "tagId": {
            "description": "ID of the tag to add to the video",
            "example": "tag_abc123def456",
            "type": "string"
          }
        },
        "required": [
          "tagId"
        ],
        "type": "object"
      },
      "AgentChat": {
        "additionalProperties": false,
        "properties": {
          "chatId": {
            "example": "achat_abc123def456",
            "type": "string"
          },
          "lastActiveAt": {
            "example": "2026-10-27T10:00:00.000Z",
            "type": "string"
          },
          "lastReply": {
            "description": "The agent's last reply, up to 6,000 characters",
            "example": "Done: the video is 58 s long, with captions.",
            "type": "string"
          },
          "startedBy": {
            "description": "Who started the chat",
            "example": "Ada Lovelace",
            "type": "string"
          },
          "status": {
            "description": "`running` while a turn is working, `waiting_for_answer` when the agent asked the user something (answered at `url`), `idle` once its turn ended, or `unknown`",
            "example": "idle",
            "type": "string"
          },
          "title": {
            "example": "Launch recap",
            "type": "string"
          },
          "url": {
            "description": "Opens the chat in the video's editor",
            "example": "https://www.tella.tv/video/vid_abc123def456/edit?agentChat=achat_abc123def456",
            "type": "string"
          }
        },
        "required": [
          "chatId",
          "status",
          "url",
          "lastActiveAt"
        ],
        "type": "object"
      },
      "AnalyticsGeoPoint": {
        "additionalProperties": false,
        "properties": {
          "country": {
            "description": "ISO 3166-1 alpha-2 country code; null when unknown",
            "example": "US",
            "nullable": true,
            "type": "string"
          },
          "uniqueSessions": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "views": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "country",
          "views",
          "uniqueSessions"
        ],
        "type": "object"
      },
      "AnalyticsReferrerPoint": {
        "additionalProperties": false,
        "properties": {
          "referrerDomain": {
            "description": "Domain the viewer arrived from; null for direct or unknown traffic",
            "example": "linkedin.com",
            "nullable": true,
            "type": "string"
          },
          "uniqueSessions": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "views": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "referrerDomain",
          "views",
          "uniqueSessions"
        ],
        "type": "object"
      },
      "AnalyticsRetentionPoint": {
        "additionalProperties": false,
        "description": "How often each one-percent slice of the video was watched. Slices with no views are omitted.",
        "properties": {
          "percent": {
            "description": "Position in the video as a percentage of its duration",
            "example": 42,
            "maximum": 100,
            "minimum": 0,
            "type": "integer"
          },
          "uniqueViewers": {
            "description": "Distinct viewers who watched this slice",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "watchCount": {
            "description": "Times this one-percent slice was watched, including replays by the same viewer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "percent",
          "watchCount",
          "uniqueViewers"
        ],
        "type": "object"
      },
      "AnalyticsScope": {
        "description": "workspace: every video shared with the workspace. mine: videos the authenticated user created.",
        "enum": [
          "workspace",
          "mine"
        ],
        "example": "workspace",
        "type": "string"
      },
      "AnalyticsSummary": {
        "additionalProperties": false,
        "description": "Headline viewing metrics",
        "properties": {
          "avgPercentViewed": {
            "description": "Average share of the video watched per play, from 0 to 100. Null when nothing was watched in the range.",
            "example": 63.5,
            "nullable": true,
            "type": "number"
          },
          "pageOpens": {
            "description": "Times the video page was opened, whether or not playback started. Excludes automated visits such as link scanners",
            "example": 1610,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "totalViews": {
            "description": "Plays in the range. A play is counted once a viewer starts the video.",
            "example": 1280,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "totalWatchTimeSeconds": {
            "description": "Total time viewers spent watching, in seconds",
            "example": 48210.4,
            "type": "number"
          },
          "uniqueSessions": {
            "description": "Distinct viewer sessions that started a play",
            "example": 940,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "totalViews",
          "uniqueSessions",
          "avgPercentViewed",
          "totalWatchTimeSeconds",
          "pageOpens"
        ],
        "type": "object"
      },
      "AnalyticsTopVideo": {
        "additionalProperties": false,
        "properties": {
          "avgPercentViewed": {
            "description": "Average share of the video watched per play, 0 to 100",
            "example": 71.2,
            "type": "number"
          },
          "name": {
            "description": "Video title; null when the video has since been deleted but its views remain counted",
            "example": "Q3 product update",
            "nullable": true,
            "type": "string"
          },
          "uniqueSessions": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "videoId": {
            "example": "vid_abc123def456",
            "type": "string"
          },
          "views": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "videoId",
          "name",
          "views",
          "uniqueSessions",
          "avgPercentViewed"
        ],
        "type": "object"
      },
      "AnalyticsTrafficSourcePoint": {
        "additionalProperties": false,
        "properties": {
          "campaign": {
            "description": "utm_campaign, or an empty string when not set",
            "example": "launch-week",
            "type": "string"
          },
          "medium": {
            "description": "utm_medium, or an empty string when not set",
            "example": "email",
            "type": "string"
          },
          "source": {
            "description": "utm_source when the link carried one, otherwise the referrer domain, otherwise \"direct\"",
            "example": "newsletter",
            "type": "string"
          },
          "uniqueSessions": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "views": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "source",
          "medium",
          "campaign",
          "views",
          "uniqueSessions"
        ],
        "type": "object"
      },
      "AnalyticsViewsPoint": {
        "additionalProperties": false,
        "properties": {
          "date": {
            "description": "Day as YYYY-MM-DD in the requested timezone",
            "example": "2026-01-14",
            "type": "string"
          },
          "uniqueSessions": {
            "description": "Distinct viewer sessions that day",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "views": {
            "description": "Plays that day",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "date",
          "views",
          "uniqueSessions"
        ],
        "type": "object"
      },
      "ApplyMotionCommandsRequest": {
        "description": "A batch of ops and editor commands, applied in order as one transaction and one undo step: nothing applies unless everything does.",
        "properties": {
          "baseRevision": {
            "description": "The `seq` you inspected. The batch is refused with 409 when the document has changed since.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "commands": {
            "items": {
              "$ref": "#/components/schemas/MotionEdit"
            },
            "maxItems": 256,
            "minItems": 1,
            "type": "array"
          },
          "dryRun": {
            "description": "Check the batch without saving it.",
            "type": "boolean"
          }
        },
        "required": [
          "commands"
        ],
        "type": "object"
      },
      "ApplyVideoEditsRequest": {
        "additionalProperties": false,
        "description": "Add, update, and remove up to 200 sound effects, text overlays, shape overlays, zooms, blurs, highlights, image/video overlays, and layouts in one editor revision. Operations run in array order; the complete batch is validated before anything is applied. Cuts, transcript edits, clip settings, and auto layouts are not batchable.",
        "properties": {
          "operations": {
            "items": {
              "$ref": "#/components/schemas/VideoEditOperation"
            },
            "maxItems": 200,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "operations"
        ],
        "type": "object"
      },
      "ApplyVideoEditsResponse": {
        "additionalProperties": false,
        "description": "One result per operation, in request order: the created resource ID for adds, the affected resource ID for updates and removes.",
        "properties": {
          "results": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "description": "Created or affected resource ID",
                  "type": "string"
                },
                "operationId": {
                  "type": "string"
                },
                "type": {
                  "enum": [
                    "sound_effect",
                    "text_overlay",
                    "shape_overlay",
                    "zoom",
                    "blur",
                    "highlight",
                    "media_overlay",
                    "layout"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "operationId",
                "type",
                "id"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "revision": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "revision",
          "results"
        ],
        "type": "object"
      },
      "AutoCropRequest": {
        "additionalProperties": false,
        "description": "Detect and apply a crop to the clip's screen recording at a playback time.",
        "properties": {
          "inpointMs": {
            "description": "Frame time in ms on the clip's playback timeline (cuts applied). Defaults to 0.",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "AutoCropResponse": {
        "additionalProperties": false,
        "description": "The crop selected by the detector and applied to the clip",
        "properties": {
          "aspectRatio": {
            "type": "string"
          },
          "confidence": {
            "minimum": 0,
            "type": "number"
          },
          "crop": {
            "$ref": "#/components/schemas/CropBox"
          },
          "inpointMs": {
            "description": "Requested time on the clip playback timeline",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "crop",
          "confidence",
          "aspectRatio",
          "inpointMs"
        ],
        "type": "object"
      },
      "BackdropCaptionStyle": {
        "additionalProperties": false,
        "properties": {
          "activeWordTextColor": {
            "description": "Text color of the spoken word when highlightMode is background. Defaults to textColor.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "backgroundColor": {
            "description": "Caption background color in #RRGGBB or #RRGGBBAA form. Its alpha channel is rendered exactly; #RRGGBB is fully opaque. Responses use uppercase #RRGGBBAA and report the effective rendered color.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "backgroundEnabled": {
            "type": "boolean"
          },
          "backgroundPadding": {
            "description": "Extra room around the caption text inside its background, as a fraction of the font size added on every side. Defaults to 0, the style's standard padding. No effect while backgroundEnabled is false.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "highlightColor": {
            "description": "Spoken-word color. Omit to retain the legacy text-opacity progression.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "highlightMode": {
            "description": "How the spoken word is emphasized. Defaults to text.",
            "enum": [
              "text",
              "background",
              "fadeRest"
            ],
            "type": "string"
          },
          "name": {
            "enum": [
              "backdrop"
            ],
            "type": "string"
          },
          "outlineColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "outlineEnabled": {
            "type": "boolean"
          },
          "shadowColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "shadowEnabled": {
            "type": "boolean"
          },
          "textCase": {
            "description": "Letter case applied to every caption word. Defaults to original.",
            "enum": [
              "original",
              "uppercase",
              "lowercase"
            ],
            "type": "string"
          },
          "textColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "wordLevelHighlights": {
            "type": "boolean"
          }
        },
        "required": [
          "backgroundColor",
          "name",
          "textColor",
          "wordLevelHighlights"
        ],
        "title": "Backdrop",
        "type": "object"
      },
      "BackgroundCategory": {
        "additionalProperties": false,
        "description": "A named group of selectable backgrounds",
        "properties": {
          "backgrounds": {
            "items": {
              "$ref": "#/components/schemas/BackgroundItem"
            },
            "type": "array"
          },
          "id": {
            "description": "Stable category identifier",
            "example": "default:tella",
            "type": "string"
          },
          "name": {
            "description": "Human-readable category name",
            "example": "Tella",
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/BackgroundScope"
          }
        },
        "required": [
          "id",
          "name",
          "scope",
          "backgrounds"
        ],
        "type": "object"
      },
      "BackgroundItem": {
        "additionalProperties": false,
        "description": "A selectable background and its preview metadata",
        "properties": {
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipBackgroundOutput"
              }
            ],
            "description": "Background value that can be passed directly to PATCH /v1/videos/{id}/clips/{clipId}"
          },
          "name": {
            "description": "Human-readable display name within the category",
            "example": "Red Horizon",
            "type": "string"
          },
          "thumbnailUrl": {
            "description": "Preview image requested at 192x108 when the image host supports resizing",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "name",
          "thumbnailUrl",
          "background"
        ],
        "type": "object"
      },
      "BackgroundMusic": {
        "additionalProperties": false,
        "description": "One video-wide track that loops over the whole video and is included in exports",
        "properties": {
          "durationMs": {
            "description": "Audio track duration in milliseconds",
            "example": 180036,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "name": {
            "description": "Optional display name for the track",
            "example": "Calm Product Tour",
            "nullable": true,
            "type": "string"
          },
          "url": {
            "description": "HTTPS URL of the audio track",
            "example": "https://ucarecdn.com/example-track/",
            "format": "uri",
            "pattern": "^https:\\/\\/.*",
            "type": "string"
          },
          "volume": {
            "description": "Track volume from 0 (silent) to 1 (full volume)",
            "example": 0.2,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "url",
          "durationMs",
          "volume",
          "name"
        ],
        "type": "object"
      },
      "BackgroundScope": {
        "description": "Where the background comes from: the authenticated user's uploads, workspace uploads, or Tella's default catalog",
        "enum": [
          "personal",
          "workspace",
          "default"
        ],
        "type": "string"
      },
      "BatchAddBlurOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "dimensions": {
            "$ref": "#/components/schemas/MaskDimensions"
          },
          "durationMs": {
            "example": 2000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "intensity": {
            "description": "Strength from 0 to 1. Blur: 0 is the standard blur and 1 blurs three times as heavily; the content stays fully hidden at every value (defaults to 0). Highlight: how dark the area outside the highlight goes, 0 = no dimming, 1 = black (defaults to 0.7).",
            "example": 0.7,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "$ref": "#/components/schemas/MaskPoint"
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "`smooth` fades the mask in and out, `hard_cut` pops it. New masks start on `hard_cut`."
          },
          "type": {
            "enum": [
              "add_blur"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "startTimeMs",
          "durationMs",
          "point",
          "dimensions"
        ],
        "type": "object"
      },
      "BatchAddHighlightOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "dimensions": {
            "$ref": "#/components/schemas/MaskDimensions"
          },
          "durationMs": {
            "example": 2000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "intensity": {
            "description": "Strength from 0 to 1. Blur: 0 is the standard blur and 1 blurs three times as heavily; the content stays fully hidden at every value (defaults to 0). Highlight: how dark the area outside the highlight goes, 0 = no dimming, 1 = black (defaults to 0.7).",
            "example": 0.7,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "$ref": "#/components/schemas/MaskPoint"
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "`smooth` fades the mask in and out, `hard_cut` pops it. New masks start on `hard_cut`."
          },
          "type": {
            "enum": [
              "add_highlight"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "startTimeMs",
          "durationMs",
          "point",
          "dimensions"
        ],
        "type": "object"
      },
      "BatchAddLayoutOperation": {
        "additionalProperties": false,
        "description": "Add a layout. With startTimeMs and durationMs, overlapping layouts are trimmed, split, or removed to make room, exactly like the single-call add; without them the clip's base layout is set and the result ID is `base`.",
        "properties": {
          "cameraStyle": {
            "description": "The camera's frame shape, as the editor's Camera style picker sets it, overriding the named layout's own: `circle`, `square`, `portrait`, `none` (a rectangle in the camera slot's aspect, rounded by the clip's `corners`, e.g. a squircle when corners are `squircle`), `cutout` (the presenter cut out of the camera feed with no frame or room, in the layout's camera position — e.g. `camera-bubble` with `style: full` and `position: bottom-left` for a full-screen recording with a cut-out presenter in the corner; it switches pop-out off), `blob` or `blob-outline`. It shapes the camera bubble and the pop-out frame. Null clears it so the layout's own shape applies; omitted leaves it as it is. Needs a camera recording and a named layout that frames the camera (not cut-out, screen-only or custom; on a custom layout set `presentation.shape`).",
            "enum": [
              "none",
              "circle",
              "square",
              "portrait",
              "cutout",
              "blob",
              "blob-outline"
            ],
            "nullable": true,
            "type": "string"
          },
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "crop": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutCrop"
              }
            ],
            "description": "Crop the clip's screen recording for this layout only — the editor's crop modal on “This layout only”. Other layouts keep following the clip's crop; `null` makes this layout follow it again. Masks that start in the layout stay anchored to their content, and a custom layout's screen box keeps its on-canvas scale unless the same request writes `layout` geometry. Needs a screen recording or an uploaded video in the clip. To crop the recording across the whole clip use auto-crop.",
            "nullable": true
          },
          "durationMs": {
            "description": "Optional. Provide together with startTimeMs for a time-ranged layout. Minimum 200ms.",
            "maximum": 9007199254740991,
            "minimum": 200,
            "type": "integer"
          },
          "layout": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutShape"
              }
            ],
            "description": "Layout shape. May be omitted when media is provided to use the default full-frame B-roll layout."
          },
          "media": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipMedia"
              }
            ],
            "description": "Optional media content to show during this layout. Only valid on time-ranged layouts."
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "popOut": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipPopOut"
              }
            ],
            "description": "Pop the presenter out of the camera frame. Omitted or null leaves it off.",
            "nullable": true
          },
          "startTimeMs": {
            "description": "Optional. Provide together with durationMs for a time-ranged layout. In ms on the clip's playback timeline (cuts applied).",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transitionStyle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LayoutTransitionStyle"
              }
            ],
            "description": "Optional. Only valid on time-ranged layouts. Defaults to the user's saved layout intro transition when omitted. The user's saved layout outro transition is applied when the following layout begins or resumes."
          },
          "type": {
            "enum": [
              "add_layout"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId"
        ],
        "type": "object"
      },
      "BatchAddMediaOverlayOperation": {
        "additionalProperties": false,
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ]
          },
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "example": 5000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "motionDocumentId": {
            "description": "In place of `sourceId`: a Tella Motion document of this video's (ffd_…, from `POST /v1/motion/documents`), shown as the overlay. It is linked, not copied: it plays live, so edits to the document show in the video at once.",
            "example": "ffd_abc123",
            "type": "string"
          },
          "name": {
            "example": "Logo",
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "sourceId": {
            "description": "Source ID from `POST /v1/sources` (`kind: image` or `kind: video`). The overlay type follows the source's kind. Pass this or `motionDocumentId`.",
            "example": "su_abc123",
            "type": "string"
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the overlay in at its start and out at its end, `hard_cut` pops it in and out. An `animation` replaces it while set."
          },
          "type": {
            "enum": [
              "add_media_overlay"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "BatchAddShapeOverlayOperation": {
        "additionalProperties": false,
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ]
          },
          "border": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShapeBorder"
              }
            ],
            "description": "A line just inside the outline, or null for none."
          },
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "corners": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ],
            "description": "How a square's corners are rounded."
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "example": 5000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "fill": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipBackground"
              }
            ],
            "description": "What fills the shape, cut to its outline: any clip background except `ambient`. A solid `#00000000` leaves only the border."
          },
          "name": {
            "description": "Label in the editor's timeline.",
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "path": {
            "description": "A custom outline as SVG path data (`d`) in a 0–100 box; it stretches with the overlay box. Sending it makes the shape a `path`. Closed subpaths (ending in Z) are filled; an open path shows only its `border`, drawn centred on the line.",
            "example": "M50 0 L100 100 L0 100 Z",
            "maxLength": 10000,
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "shadow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayShadow"
              }
            ]
          },
          "shapeType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShapeType"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the shape in and out, `hard_cut` pops it. An `animation` replaces it while set."
          },
          "type": {
            "enum": [
              "add_shape_overlay"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "BatchAddSoundEffectOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "durationMs": {
            "example": 3000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "example": "Whoosh",
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "presetId": {
            "description": "Preset ID of a curated Tella sound effect, from a `default` item in `GET /v1/library?scope=default`. Placing one copies the effect into a source owned by your workspace, so nothing needs uploading. Mutually exclusive with `sourceId`; exactly one is required.",
            "example": "cha-ching",
            "type": "string"
          },
          "sourceId": {
            "description": "Source ID for the audio, from `POST /v1/sources` (`kind: audio` with the audio's duration) or from a `private`/`workspace` item in `GET /v1/library?type=sound-effect`. When uploading, send the audio file as-is — MP3, WAV, M4A, … — no need to wrap it in an MP4. Mutually exclusive with `presetId`; exactly one is required.",
            "example": "su_abc123",
            "type": "string"
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "enum": [
              "add_sound_effect"
            ],
            "type": "string"
          },
          "volume": {
            "description": "Playback volume (0 = muted, 1 = original). Defaults to 1.",
            "example": 1,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "BatchAddTextOverlayOperation": {
        "additionalProperties": false,
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ]
          },
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackground"
              }
            ],
            "description": "Background behind the text. Defaults to transparent."
          },
          "backgroundPadding": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundPadding"
              }
            ],
            "description": "Defaults to 0, or the preset's."
          },
          "backgroundShape": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ],
            "description": "Defaults to none."
          },
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "color": {
            "description": "Defaults to white.",
            "example": "#FFFFFFFF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "example": 5000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "fontFamily": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayFontFamily"
              }
            ],
            "description": "One of Tella's catalog font families. Defaults to Inter. Anything outside the catalog is rejected rather than silently falling back; use `fontId` for an uploaded font."
          },
          "fontId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayFontId"
              }
            ]
          },
          "fontSize": {
            "description": "Font size in artboard pixels. Defaults to 7.5% of the video's shorter side, which is the editor's default and readable at any canvas size.",
            "example": 81,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "fontWeight": {
            "description": "Variable-font weight axis — 100 (thin) to 900 (black), 500 by default. Values outside the chosen font's own axis range are clamped when rendered.",
            "example": 500,
            "maximum": 1000,
            "minimum": 1,
            "type": "number"
          },
          "fontWidth": {
            "description": "Variable-font width axis, as a percentage — 100 is normal, 50 ultra-condensed, 150 extra-expanded, 100 by default. Values outside the chosen font's own axis range are clamped when rendered.",
            "example": 100,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "outline": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayOutline"
              }
            ],
            "description": "Defaults to no outline, or the preset's."
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "presetId": {
            "description": "A preset from GET /v1/text-presets — `default:<id>` for a built-in style or a saved preset's ID. Supplies the font, weight, width, color, size, alignment, background, background shape, background padding and outline (not the shadow); any of those fields sent alongside overrides the preset's value.",
            "example": "default:label",
            "minLength": 1,
            "type": "string"
          },
          "shadow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayShadow"
              }
            ],
            "description": "Defaults to none."
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "text": {
            "example": "Welcome back",
            "minLength": 1,
            "type": "string"
          },
          "textAlign": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayTextAlign"
              }
            ],
            "description": "Defaults to center."
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the text in at its start and out at its end, `hard_cut` pops it in and out. An `animation` replaces it while set."
          },
          "type": {
            "enum": [
              "add_text_overlay"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "text",
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "BatchAddZoomOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "durationMs": {
            "example": 2000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "focusPoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZoomFocusPoint"
              }
            ]
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "scale": {
            "description": "Magnification factor (1 = no zoom, 3.5 = max). Required — a zoom without a scale cannot be rendered.",
            "example": 2,
            "maximum": 3.5,
            "minimum": 1,
            "type": "number"
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "example": 1000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "enum": [
              "add_zoom"
            ],
            "type": "string"
          },
          "zoomType": {
            "description": "Zoom variant: manualZoom or trackingZoom.",
            "enum": [
              "manualZoom",
              "trackingZoom"
            ],
            "example": "manualZoom",
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "zoomType",
          "startTimeMs",
          "durationMs",
          "scale"
        ],
        "type": "object"
      },
      "BatchRemoveBlurOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "maskId": {
            "description": "Blur ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "remove_blur"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "maskId"
        ],
        "type": "object"
      },
      "BatchRemoveHighlightOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "maskId": {
            "description": "Highlight ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "remove_highlight"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "maskId"
        ],
        "type": "object"
      },
      "BatchRemoveLayoutOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "layoutId": {
            "description": "Layout ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "remove_layout"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "layoutId"
        ],
        "type": "object"
      },
      "BatchRemoveMediaOverlayOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "overlayId": {
            "description": "Overlay ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "remove_media_overlay"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "overlayId"
        ],
        "type": "object"
      },
      "BatchRemoveShapeOverlayOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "shapeOverlayId": {
            "description": "Shape overlay ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "remove_shape_overlay"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "shapeOverlayId"
        ],
        "type": "object"
      },
      "BatchRemoveSoundEffectOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "soundEffectId": {
            "description": "Sound effect ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "remove_sound_effect"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "soundEffectId"
        ],
        "type": "object"
      },
      "BatchRemoveTextOverlayOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "textOverlayId": {
            "description": "Text overlay ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "remove_text_overlay"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "textOverlayId"
        ],
        "type": "object"
      },
      "BatchRemoveZoomOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "remove_zoom"
            ],
            "type": "string"
          },
          "zoomId": {
            "description": "Zoom ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "zoomId"
        ],
        "type": "object"
      },
      "BatchUpdateBlurOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaskDimensions"
              }
            ]
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "intensity": {
            "description": "Strength from 0 to 1. Blur: 0 is the standard blur and 1 blurs three times as heavily; the content stays fully hidden at every value (defaults to 0). Highlight: how dark the area outside the highlight goes, 0 = no dimming, 1 = black (defaults to 0.7).",
            "example": 0.7,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "maskId": {
            "description": "Blur ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaskPoint"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "`smooth` fades the mask in and out, `hard_cut` pops it. New masks start on `hard_cut`."
          },
          "type": {
            "enum": [
              "update_blur"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "maskId"
        ],
        "type": "object"
      },
      "BatchUpdateHighlightOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaskDimensions"
              }
            ]
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "intensity": {
            "description": "Strength from 0 to 1. Blur: 0 is the standard blur and 1 blurs three times as heavily; the content stays fully hidden at every value (defaults to 0). Highlight: how dark the area outside the highlight goes, 0 = no dimming, 1 = black (defaults to 0.7).",
            "example": 0.7,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "maskId": {
            "description": "Highlight ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaskPoint"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "`smooth` fades the mask in and out, `hard_cut` pops it. New masks start on `hard_cut`."
          },
          "type": {
            "enum": [
              "update_highlight"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "maskId"
        ],
        "type": "object"
      },
      "BatchUpdateLayoutOperation": {
        "additionalProperties": false,
        "description": "Update a layout. Time-ranged layouts support the same b-roll media replacement and layout-shape changes as the single-call update. The base layout accepts `layout` only.",
        "properties": {
          "cameraStyle": {
            "description": "The camera's frame shape, as the editor's Camera style picker sets it, overriding the named layout's own: `circle`, `square`, `portrait`, `none` (a rectangle in the camera slot's aspect, rounded by the clip's `corners`, e.g. a squircle when corners are `squircle`), `cutout` (the presenter cut out of the camera feed with no frame or room, in the layout's camera position — e.g. `camera-bubble` with `style: full` and `position: bottom-left` for a full-screen recording with a cut-out presenter in the corner; it switches pop-out off), `blob` or `blob-outline`. It shapes the camera bubble and the pop-out frame. Null clears it so the layout's own shape applies; omitted leaves it as it is. Needs a camera recording and a named layout that frames the camera (not cut-out, screen-only or custom; on a custom layout set `presentation.shape`). On the base layout it is accepted without `layout`.",
            "enum": [
              "none",
              "circle",
              "square",
              "portrait",
              "cutout",
              "blob",
              "blob-outline"
            ],
            "nullable": true,
            "type": "string"
          },
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "crop": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutCrop"
              }
            ],
            "description": "Crop the clip's screen recording for this layout only — the editor's crop modal on “This layout only”. Other layouts keep following the clip's crop; `null` makes this layout follow it again. Masks that start in the layout stay anchored to their content, and a custom layout's screen box keeps its on-canvas scale unless the same request writes `layout` geometry. Needs a screen recording or an uploaded video in the clip. To crop the recording across the whole clip use auto-crop.",
            "nullable": true
          },
          "durationMs": {
            "maximum": 9007199254740991,
            "minimum": 200,
            "type": "integer"
          },
          "layout": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutShape"
              }
            ]
          },
          "layoutId": {
            "description": "Layout ID, `base` for the clip-spanning layout, or the operationId of an add_layout operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "media": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipMedia"
              }
            ],
            "description": "Replace the layout's media content. Only valid on time-ranged layouts; rejected on the base (clip-spanning) layout."
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "popOut": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipPopOut"
              }
            ],
            "description": "Switch the camera pop-out on (an object merges over the current settings) or off (null). Omitted leaves it as it is, except that a cut-out layout or `cameraStyle: cutout` drops it. On the base layout this, `cameraStyle` and `crop` are accepted without `layout`.",
            "nullable": true
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transitionStyle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LayoutTransitionStyle"
              }
            ],
            "description": "Only valid on time-ranged layouts; rejected on the base (clip-spanning) layout."
          },
          "type": {
            "enum": [
              "update_layout"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "layoutId"
        ],
        "type": "object"
      },
      "BatchUpdateMediaOverlayOperation": {
        "additionalProperties": false,
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ],
            "description": "Animate how the overlay enters and leaves. An omitted `intro`/`outro` keeps that side. Null removes the animation, so `transition` plays again.",
            "nullable": true
          },
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "overlayId": {
            "description": "Overlay ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the overlay in at its start and out at its end, `hard_cut` pops it in and out. An `animation` replaces it while set; setting `transition` without `animation` removes the animation."
          },
          "type": {
            "enum": [
              "update_media_overlay"
            ],
            "type": "string"
          },
          "zIndex": {
            "description": "Stacking position among the clip's image, video and text overlays: 0 is the backmost. `depth` applies first — a `behind_presenter` overlay stays behind the presenter whatever its zIndex — so the order only matters among overlays at the same depth. Lottie overlays share the stack but aren't listed, so listed values can skip a number. A value past the top moves the overlay to the front; the other overlays keep their relative order.",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "overlayId"
        ],
        "type": "object"
      },
      "BatchUpdateShapeOverlayOperation": {
        "additionalProperties": false,
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ],
            "description": "Animate how the shape enters and leaves. An omitted `intro`/`outro` keeps that side. Null removes the animation, so `transition` plays again.",
            "nullable": true
          },
          "border": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShapeBorder"
              }
            ],
            "description": "A line just inside the outline, or null for none."
          },
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "corners": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ],
            "description": "How a square's corners are rounded."
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "fill": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipBackground"
              }
            ],
            "description": "What fills the shape, cut to its outline: any clip background except `ambient`. A solid `#00000000` leaves only the border."
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "path": {
            "description": "A custom outline as SVG path data (`d`) in a 0–100 box; it stretches with the overlay box. Sending it makes the shape a `path`. Closed subpaths (ending in Z) are filled; an open path shows only its `border`, drawn centred on the line.",
            "example": "M50 0 L100 100 L0 100 Z",
            "maxLength": 10000,
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "shadow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayShadow"
              }
            ]
          },
          "shapeOverlayId": {
            "description": "Shape overlay ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "shapeType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShapeType"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied).",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the shape in and out, `hard_cut` pops it. An `animation` replaces it while set; setting `transition` without `animation` removes the animation."
          },
          "type": {
            "enum": [
              "update_shape_overlay"
            ],
            "type": "string"
          },
          "zIndex": {
            "description": "Stacking position among the clip's image, video and text overlays: 0 is the backmost. `depth` applies first — a `behind_presenter` overlay stays behind the presenter whatever its zIndex — so the order only matters among overlays at the same depth. Lottie overlays share the stack but aren't listed, so listed values can skip a number. A value past the top moves the overlay to the front; the other overlays keep their relative order.",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "shapeOverlayId"
        ],
        "type": "object"
      },
      "BatchUpdateSoundEffectOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "soundEffectId": {
            "description": "Sound effect ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "enum": [
              "update_sound_effect"
            ],
            "type": "string"
          },
          "volume": {
            "description": "Playback volume (0 = muted, 1 = original).",
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "soundEffectId"
        ],
        "type": "object"
      },
      "BatchUpdateTextOverlayOperation": {
        "additionalProperties": false,
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ],
            "description": "Animate how the overlay enters and leaves. An omitted `intro`/`outro` keeps that side. Null removes the animation, so `transition` plays again.",
            "nullable": true
          },
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackground"
              }
            ]
          },
          "backgroundPadding": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundPadding"
              }
            ]
          },
          "backgroundShape": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ]
          },
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "color": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#FFFFFFFF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "fontFamily": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayFontFamily"
              }
            ]
          },
          "fontId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayFontId"
              }
            ]
          },
          "fontSize": {
            "description": "Font size in artboard pixels.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "fontWeight": {
            "maximum": 1000,
            "minimum": 1,
            "type": "number"
          },
          "fontWidth": {
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "outline": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayOutline"
              }
            ],
            "description": "Set an outline color, or null to remove the outline."
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "presetId": {
            "description": "Restyle the overlay with a preset from GET /v1/text-presets; its text, timing and placement stay. Style fields sent alongside override the preset's values.",
            "example": "default:label",
            "minLength": 1,
            "type": "string"
          },
          "shadow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayShadow"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "text": {
            "minLength": 1,
            "type": "string"
          },
          "textAlign": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayTextAlign"
              }
            ]
          },
          "textOverlayId": {
            "description": "Text overlay ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the text in at its start and out at its end, `hard_cut` pops it in and out. An `animation` replaces it while set; setting `transition` without `animation` removes the animation."
          },
          "type": {
            "enum": [
              "update_text_overlay"
            ],
            "type": "string"
          },
          "zIndex": {
            "description": "Stacking position among the clip's image, video and text overlays: 0 is the backmost. `depth` applies first — a `behind_presenter` overlay stays behind the presenter whatever its zIndex — so the order only matters among overlays at the same depth. Lottie overlays share the stack but aren't listed, so listed values can skip a number. A value past the top moves the overlay to the front; the other overlays keep their relative order.",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "textOverlayId"
        ],
        "type": "object"
      },
      "BatchUpdateZoomOperation": {
        "additionalProperties": false,
        "properties": {
          "clipId": {
            "description": "Clip ID",
            "minLength": 1,
            "type": "string"
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "focusPoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZoomFocusPoint"
              }
            ]
          },
          "operationId": {
            "description": "Caller-chosen ID used to match this operation to its result. Must be unique within the batch.",
            "example": "sound-1",
            "minLength": 1,
            "type": "string"
          },
          "scale": {
            "description": "Magnification factor (1 = no zoom, 3.5 = max).",
            "example": 2,
            "maximum": 3.5,
            "minimum": 1,
            "type": "number"
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "enum": [
              "update_zoom"
            ],
            "type": "string"
          },
          "zoomId": {
            "description": "Zoom ID, or the operationId of an add operation earlier in this batch.",
            "minLength": 1,
            "type": "string"
          },
          "zoomType": {
            "description": "Zoom variant: manualZoom or trackingZoom.",
            "enum": [
              "manualZoom",
              "trackingZoom"
            ],
            "example": "manualZoom",
            "type": "string"
          }
        },
        "required": [
          "type",
          "operationId",
          "clipId",
          "zoomId"
        ],
        "type": "object"
      },
      "CameraBubbleLayout": {
        "additionalProperties": false,
        "description": "Floating camera bubble over the screen recording. Combi (all ratios). Position is 9-way. Set `style: full` to put the screen fullscreen behind the bubble.",
        "properties": {
          "kind": {
            "enum": [
              "camera-bubble"
            ],
            "type": "string"
          },
          "position": {
            "enum": [
              "left",
              "right",
              "top",
              "bottom",
              "top-left",
              "top-right",
              "bottom-left",
              "bottom-right",
              "middle"
            ],
            "type": "string"
          },
          "screenFit": {
            "description": "Only honoured when `style: \"full\"`. Defaults to cover.",
            "enum": [
              "cover",
              "letterbox"
            ],
            "type": "string"
          },
          "shape": {
            "description": "Defaults to `circle`, as in the editor's Camera Bubble picker.",
            "enum": [
              "circle",
              "square",
              "landscape",
              "portrait"
            ],
            "type": "string"
          },
          "size": {
            "enum": [
              "S",
              "M",
              "L"
            ],
            "type": "string"
          },
          "style": {
            "description": "`regular` (default) keeps the screen layered behind the bubble; `full` puts the screen fullscreen behind the bubble (and honours `screenFit`).",
            "enum": [
              "regular",
              "full"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind",
          "position",
          "size"
        ],
        "title": "Camera Bubble",
        "type": "object"
      },
      "CameraOnlyLayout": {
        "additionalProperties": false,
        "description": "Camera fills the frame or sits centered; the screen is hidden. Combi (all ratios).",
        "properties": {
          "kind": {
            "enum": [
              "camera-only"
            ],
            "type": "string"
          },
          "punchIn": {
            "description": "Only allowed when `style: \"fullscreen\"`; `punchIn: true` with `style: \"middle\"` is rejected. Defaults to false.",
            "type": "boolean"
          },
          "shape": {
            "description": "Required when `style: \"middle\"`, rejected otherwise. Allowed shapes vary by ratio (no `portrait` in portrait clips, no `square` in square clips).",
            "enum": [
              "circle",
              "square",
              "landscape",
              "portrait"
            ],
            "type": "string"
          },
          "style": {
            "description": "`fullscreen` fills the frame with the camera (optional `punchIn`); `middle` centers a shaped camera (requires `shape`).",
            "enum": [
              "fullscreen",
              "middle"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind",
          "style"
        ],
        "title": "Camera Only",
        "type": "object"
      },
      "CannesCaptionStyle": {
        "additionalProperties": false,
        "properties": {
          "activeWordTextColor": {
            "description": "Text color of the spoken word when highlightMode is background. Defaults to textColor.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "backgroundColor": {
            "description": "Caption background color in #RRGGBB or #RRGGBBAA form. Its alpha channel is rendered exactly; #RRGGBB is fully opaque. Responses use uppercase #RRGGBBAA and report the effective rendered color.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "backgroundEnabled": {
            "type": "boolean"
          },
          "backgroundPadding": {
            "description": "Extra room around the caption text inside its background, as a fraction of the font size added on every side. Defaults to 0, the style's standard padding. No effect while backgroundEnabled is false.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "highlightColor": {
            "description": "Spoken-word color. Defaults to textColor.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "highlightMode": {
            "description": "How the spoken word is emphasized. Defaults to text.",
            "enum": [
              "text",
              "background",
              "fadeRest"
            ],
            "type": "string"
          },
          "name": {
            "enum": [
              "cannes"
            ],
            "type": "string"
          },
          "outlineColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "outlineEnabled": {
            "type": "boolean"
          },
          "shadowColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "shadowEnabled": {
            "type": "boolean"
          },
          "textCase": {
            "description": "Letter case applied to every caption word. Defaults to original.",
            "enum": [
              "original",
              "uppercase",
              "lowercase"
            ],
            "type": "string"
          },
          "textColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "wordLevelHighlights": {
            "description": "Highlight each word as it is spoken. Defaults to false.",
            "type": "boolean"
          }
        },
        "required": [
          "shadowColor",
          "name",
          "textColor"
        ],
        "title": "Cannes",
        "type": "object"
      },
      "CaptionFontFamily": {
        "description": "Subtitle font family. On write, one of Tella's catalog font families or the built-in subtitle families `Dela Gothic One`, `Lato`, `Georgia`, and `Arial`, or the video's current family to keep an uploaded font. Reads report the family the subtitles render with.",
        "example": "Inter",
        "minLength": 1,
        "type": "string"
      },
      "CaptionFontSize": {
        "description": "Exact subtitle text size, 40 to 200 — the editor's Size slider. `captionSize` is the same setting in buckets (small 40, medium 64, large 80), so a request passes one or the other, not both.",
        "example": 64,
        "maximum": 200,
        "minimum": 40,
        "type": "number"
      },
      "CaptionFontWeight": {
        "description": "Subtitle font weight, 100 (thin) to 1000. Catalog fonts clamp to their supported range; built-in subtitle fonts outside the catalog snap to an available weight. `Dela Gothic One` uses 400 only; `Arial` uses 400 or 700. Reads report the weight that renders. Sent without `captionFontFamily`, it re-weights the video's current font.",
        "example": 500,
        "maximum": 1000,
        "minimum": 100,
        "type": "number"
      },
      "CaptionLinesPerBlock": {
        "description": "Lines a caption block may span when `captionGrouping` is `chunked`: 1, 2, or 3, or 0 for no limit, where blocks only break on pauses and sentence ends.",
        "example": 1,
        "maximum": 3,
        "minimum": 0,
        "type": "integer"
      },
      "CaptionPosition": {
        "additionalProperties": false,
        "description": "Normalized subtitle position. Applies if subtitles are enabled on the video. Null uses automatic placement.",
        "properties": {
          "x": {
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "y": {
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "x",
          "y"
        ],
        "type": "object"
      },
      "CaptionStyle": {
        "description": "Subtitle style. Applies if subtitles are enabled on the video. Background, shadow, and outline colors and toggles are available on every style.",
        "discriminator": {
          "mapping": {
            "backdrop": "#/components/schemas/BackdropCaptionStyle",
            "cannes": "#/components/schemas/CannesCaptionStyle",
            "classic": "#/components/schemas/ClassicCaptionStyle",
            "highlight": "#/components/schemas/HighlightCaptionStyle",
            "mono": "#/components/schemas/MonoCaptionStyle"
          },
          "propertyName": "name"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/BackdropCaptionStyle"
          },
          {
            "$ref": "#/components/schemas/HighlightCaptionStyle"
          },
          {
            "$ref": "#/components/schemas/MonoCaptionStyle"
          },
          {
            "$ref": "#/components/schemas/CannesCaptionStyle"
          },
          {
            "$ref": "#/components/schemas/ClassicCaptionStyle"
          }
        ],
        "type": "object"
      },
      "CaptureScreenshotRequest": {
        "additionalProperties": false,
        "properties": {
          "scroll": {
            "description": "Record a scrolling web page as video instead of a still (default false). Ignored for social posts.",
            "type": "boolean"
          },
          "url": {
            "description": "Public web page or single post on X, Instagram, LinkedIn or TikTok. A missing scheme defaults to HTTPS.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "CaptureScreenshotResponse": {
        "additionalProperties": false,
        "properties": {
          "item": {
            "additionalProperties": false,
            "description": "Finished private library item: image for a still, video for a scrolling page. Place item.sourceId with overlays or layout media. Capture completes synchronously; no generation polling is needed.",
            "properties": {
              "category": {
                "description": "Catalog grouping, for `default` items only — the same grouping the editor's sound effects and background music panels show",
                "example": "Everyday",
                "type": "string"
              },
              "createdAt": {
                "description": "ISO-8601 creation timestamp. Absent for `default` catalog items, which are served from Tella's catalog rather than stored as rows.",
                "type": "string"
              },
              "dimensions": {
                "additionalProperties": false,
                "description": "Pixel dimensions, for visual media",
                "properties": {
                  "height": {
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991,
                    "type": "integer"
                  },
                  "width": {
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991,
                    "type": "integer"
                  }
                },
                "required": [
                  "width",
                  "height"
                ],
                "type": "object"
              },
              "durationMs": {
                "description": "Duration in milliseconds, for time-based media",
                "example": 4200,
                "type": "number"
              },
              "id": {
                "description": "Unique library item identifier",
                "example": "media_abc123def456",
                "type": "string"
              },
              "link": {
                "description": "For `pinterest`, `arena` and `mymind` items: the page the pin or save links to. For `vintage` items: the film's archive page",
                "type": "string"
              },
              "name": {
                "description": "Display name shown in the library",
                "example": "Intro camera take",
                "type": "string"
              },
              "presetId": {
                "description": "Preset ID, for `default` catalog items only. A preset has no source, so pass this instead of `sourceId`: a `sound-effect` preset goes to `POST /v1/videos/{id}/clips/{clipId}/sound-effects` (placing it copies the effect into a source owned by your workspace), a `music` preset to `PUT /v1/videos/{id}/background-music`.",
                "example": "cha-ching",
                "type": "string"
              },
              "scope": {
                "enum": [
                  "private"
                ],
                "type": "string"
              },
              "sourceId": {
                "type": "string"
              },
              "summary": {
                "description": "For `mymind` items: mymind's AI summary of the save",
                "type": "string"
              },
              "tags": {
                "description": "For `mymind` items: the save's tags",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "type": {
                "enum": [
                  "image",
                  "video"
                ],
                "type": "string"
              },
              "updatedAt": {
                "description": "ISO-8601 update timestamp. Absent for `default` catalog items.",
                "type": "string"
              },
              "url": {
                "description": "Hosted media URL, for `image`, `screenshot`, `music`, `lut` and `font` items, for `vintage` shots (a preview of the shot), and for `default` catalog items, where it is a publicly fetchable preview of the audio (for `music` presets it is also the track the video will play). API-created images expose this alongside `sourceId`; use `sourceId` to place the image on a clip, since overlays and layout media do not accept URLs. Editor-created `screenshot` items have a URL but no sourceId; use POST /v1/library/screenshots to capture a new placeable image or video.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "type",
              "name",
              "scope",
              "sourceId"
            ],
            "type": "object"
          }
        },
        "required": [
          "item"
        ],
        "type": "object"
      },
      "Chapter": {
        "additionalProperties": false,
        "description": "A chapter/section within a video",
        "properties": {
          "description": {
            "description": "Chapter description",
            "example": "Overview of what we'll cover",
            "maxLength": 5000,
            "type": "string"
          },
          "timestampSeconds": {
            "description": "Chapter start time in seconds",
            "example": 0,
            "minimum": 0,
            "type": "number"
          },
          "title": {
            "description": "Chapter title",
            "example": "Introduction",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "title",
          "description",
          "timestampSeconds"
        ],
        "type": "object"
      },
      "ChapterInput": {
        "description": "A chapter accepted when replacing a video's chapters",
        "properties": {
          "description": {
            "description": "Chapter description. Lines formatted like a timestamp followed by a title are not allowed.",
            "example": "Overview of what we'll cover",
            "maxLength": 5000,
            "type": "string"
          },
          "timestampSeconds": {
            "description": "Chapter start time in whole seconds",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "title": {
            "description": "Single-line chapter title",
            "example": "Introduction",
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^[^\\r\\n]*$",
            "type": "string"
          }
        },
        "required": [
          "title",
          "description",
          "timestampSeconds"
        ],
        "type": "object"
      },
      "ClassicCaptionStyle": {
        "additionalProperties": false,
        "properties": {
          "activeWordTextColor": {
            "description": "Text color of the spoken word when highlightMode is background. Defaults to textColor.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "backgroundColor": {
            "description": "Caption background color in #RRGGBB or #RRGGBBAA form. Its alpha channel is rendered exactly; #RRGGBB is fully opaque. Responses use uppercase #RRGGBBAA and report the effective rendered color.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "backgroundEnabled": {
            "type": "boolean"
          },
          "backgroundPadding": {
            "description": "Extra room around the caption text inside its background, as a fraction of the font size added on every side. Defaults to 0, the style's standard padding. No effect while backgroundEnabled is false.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "highlightColor": {
            "description": "Spoken-word color. Defaults to textColor.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "highlightMode": {
            "description": "How the spoken word is emphasized. Defaults to text.",
            "enum": [
              "text",
              "background",
              "fadeRest"
            ],
            "type": "string"
          },
          "name": {
            "enum": [
              "classic"
            ],
            "type": "string"
          },
          "outlineColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "outlineEnabled": {
            "type": "boolean"
          },
          "shadowColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "shadowEnabled": {
            "type": "boolean"
          },
          "textCase": {
            "description": "Letter case applied to every caption word. Defaults to original.",
            "enum": [
              "original",
              "uppercase",
              "lowercase"
            ],
            "type": "string"
          },
          "textColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "wordLevelHighlights": {
            "description": "Highlight each word as it is spoken. Defaults to false.",
            "type": "boolean"
          }
        },
        "required": [
          "outlineColor",
          "name",
          "textColor"
        ],
        "title": "Classic",
        "type": "object"
      },
      "Clip": {
        "additionalProperties": false,
        "description": "A section of a video",
        "properties": {
          "animatedCursor": {
            "description": "Whether the clip draws an animated cursor from captured mouse data. Absent when the clip has no screen recording.",
            "example": true,
            "type": "boolean"
          },
          "background": {
            "$ref": "#/components/schemas/ClipBackgroundOutput"
          },
          "borderStyle": {
            "description": "Border and shadow around the clip's frames — the editor Style panel's Border style. The clip's own value, else the video's. `custom` means the layers were styled one by one or with a retired preset; it can't be written.",
            "enum": [
              "none",
              "subtle-shadow",
              "deep-shadow",
              "transparent",
              "solid-shadow-left",
              "solid-shadow-right",
              "snake",
              "glass",
              "custom"
            ],
            "example": "subtle-shadow",
            "type": "string"
          },
          "cameraCrop": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipCameraCropOutput"
              }
            ],
            "description": "The camera's crop; null when uncropped. Absent without a camera.",
            "nullable": true
          },
          "cameraFocusPoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipCameraFocusPointOutput"
              }
            ],
            "description": "The camera's focus point (50/50 when never set). Absent without a camera."
          },
          "corners": {
            "description": "Corner rounding of the clip's frames — the editor Style panel's Shape: `none` (square), `regular` (rounded) or `squircle` (very rounded). The clip's own value, else the video's.",
            "enum": [
              "none",
              "regular",
              "squircle"
            ],
            "example": "regular",
            "type": "string"
          },
          "createdAt": {
            "description": "ISO 8601 datetime",
            "example": "2026-01-15T10:30:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "cuts": {
            "description": "Time ranges cut from the clip's playback",
            "items": {
              "$ref": "#/components/schemas/CutOutput"
            },
            "type": "array"
          },
          "durationSeconds": {
            "description": "Effective playback duration of the clip after cuts, in seconds",
            "example": 12.5,
            "minimum": 0,
            "type": "number"
          },
          "id": {
            "description": "Unique clip identifier",
            "example": "cl_xyz789ghi012",
            "type": "string"
          },
          "keepCameraFaceCentered": {
            "description": "Whether Keep face centered is on. Absent without a camera.",
            "example": false,
            "type": "boolean"
          },
          "layoutSceneType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LayoutSceneType"
              }
            ],
            "description": "Determines which layouts can be applied to this clip via `add_layout`. See `BasicSubjectLayoutName`, `CameraSubjectLayoutName`, `CombiLayoutName`."
          },
          "maxDurationSeconds": {
            "description": "Total length of the underlying source, in seconds",
            "example": 14.2,
            "minimum": 0,
            "type": "number"
          },
          "microphoneVolume": {
            "description": "This clip's microphone volume override: a number when the clip overrides the video's `microphoneVolume`, null when it follows it, and absent when the clip has no microphone audio to control — either no such track, or a track whose recording carries no audio (a muted mic, or a screen recording made without sharing system audio).",
            "example": 0.4,
            "maximum": 2,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "mirrorCamera": {
            "description": "Whether the clip's camera is mirrored (flipped horizontally). Absent when the clip has no camera.",
            "example": false,
            "type": "boolean"
          },
          "name": {
            "description": "Clip display name",
            "example": "Intro",
            "type": "string"
          },
          "order": {
            "description": "Position of the clip within the video",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "studioSound": {
            "description": "Effective Studio Sound (AI audio enhancement) state for this clip: the video-level switch minus this clip's opt-out.",
            "example": false,
            "type": "boolean"
          },
          "systemAudioVolume": {
            "description": "This clip's system audio (screen or uploaded footage) volume override, with the same three states as `microphoneVolume`.",
            "example": null,
            "maximum": 2,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "transition": {
            "$ref": "#/components/schemas/ClipTransition"
          },
          "updatedAt": {
            "description": "ISO 8601 datetime",
            "example": "2026-01-15T14:45:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "videoId": {
            "description": "Video identifier",
            "example": "vid_abc123def456",
            "type": "string"
          }
        },
        "required": [
          "id",
          "videoId",
          "name",
          "order",
          "durationSeconds",
          "maxDurationSeconds",
          "cuts",
          "layoutSceneType",
          "background",
          "transition",
          "studioSound",
          "corners",
          "borderStyle",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "ClipAudioLevelsResponse": {
        "additionalProperties": false,
        "description": "Peak loudness of a clip's voice track per step",
        "properties": {
          "levelsDb": {
            "description": "Peak level in dBFS per step from startTimeMs (0 is full scale); null where there is no audio",
            "items": {
              "nullable": true,
              "type": "number"
            },
            "type": "array"
          },
          "resolutionMs": {
            "description": "Length of one stored waveform bucket; a step within this distance of a cut may include a little cut audio",
            "type": "number"
          },
          "startTimeMs": {
            "type": "number"
          },
          "stepMs": {
            "type": "number"
          }
        },
        "required": [
          "startTimeMs",
          "stepMs",
          "resolutionMs",
          "levelsDb"
        ],
        "type": "object"
      },
      "ClipBackground": {
        "description": "Clip background. Use type = 'solid' with `color`, type = 'image' or 'video' with `sourceId` (from `POST /v1/sources`) or an exact catalog URL from `GET /v1/backgrounds`, type = 'gradient' with `gradientColor1`, `gradientColor2`, `gradientAngle`, type = 'shaderGradient' with `shaderGradientPreset`, or type = 'ambient'.",
        "properties": {
          "color": {
            "description": "Hex color string. Required when type = 'solid'.",
            "example": "#000000ff",
            "nullable": true,
            "type": "string"
          },
          "gradientAngle": {
            "description": "Linear gradient angle in degrees. Required when type = 'gradient'.",
            "example": 45,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "nullable": true,
            "type": "integer"
          },
          "gradientColor1": {
            "description": "Hex color string. Required when type = 'gradient'.",
            "example": "#ff0080ff",
            "nullable": true,
            "type": "string"
          },
          "gradientColor2": {
            "description": "Hex color string. Required when type = 'gradient'.",
            "example": "#7928caff",
            "nullable": true,
            "type": "string"
          },
          "imageUrl": {
            "description": "Hosted image URL. Present in responses and accepted as input only when copied exactly from `GET /v1/backgrounds`; otherwise pass `sourceId`.",
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "shaderGradientPreset": {
            "description": "Animated gradient preset from `GET /v1/backgrounds`. Required when type = 'shaderGradient'.",
            "example": "Halo",
            "nullable": true,
            "type": "string"
          },
          "sourceId": {
            "description": "Source ID from `POST /v1/sources` (`kind: image` for type = 'image', `kind: video` for type = 'video'). Required for image/video backgrounds unless using an exact URL from `GET /v1/backgrounds`. Input-only.",
            "example": "su_abc123",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Background variant. `ambient`: the clip's screen, else its camera, heavily blurred; no other fields. `shaderGradient`: an animated gradient set by `shaderGradientPreset`; echoing a non-preset one unchanged keeps it.",
            "enum": [
              "solid",
              "gradient",
              "image",
              "video",
              "shaderGradient",
              "ambient"
            ],
            "example": "solid",
            "type": "string"
          },
          "videoDurationSeconds": {
            "description": "Video background duration in seconds. Read-only: derived from the uploaded source or catalog entry on input.",
            "example": 12.4,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "videoUrl": {
            "description": "Hosted video URL. Present in responses and accepted as input only when copied exactly from `GET /v1/backgrounds`; otherwise pass `sourceId`.",
            "format": "uri",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "ClipBackgroundOutput": {
        "additionalProperties": false,
        "description": "Clip background. Use type = 'solid' with `color`, type = 'image' or 'video' with `sourceId` (from `POST /v1/sources`) or an exact catalog URL from `GET /v1/backgrounds`, type = 'gradient' with `gradientColor1`, `gradientColor2`, `gradientAngle`, type = 'shaderGradient' with `shaderGradientPreset`, or type = 'ambient'.",
        "properties": {
          "color": {
            "description": "Hex color string. Required when type = 'solid'.",
            "example": "#000000ff",
            "nullable": true,
            "type": "string"
          },
          "gradientAngle": {
            "description": "Linear gradient angle in degrees. Required when type = 'gradient'.",
            "example": 45,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "nullable": true,
            "type": "integer"
          },
          "gradientColor1": {
            "description": "Hex color string. Required when type = 'gradient'.",
            "example": "#ff0080ff",
            "nullable": true,
            "type": "string"
          },
          "gradientColor2": {
            "description": "Hex color string. Required when type = 'gradient'.",
            "example": "#7928caff",
            "nullable": true,
            "type": "string"
          },
          "imageUrl": {
            "description": "Hosted image URL. Present in responses and accepted as input only when copied exactly from `GET /v1/backgrounds`; otherwise pass `sourceId`.",
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "shaderGradientPreset": {
            "description": "Animated gradient preset from `GET /v1/backgrounds`. Required when type = 'shaderGradient'.",
            "example": "Halo",
            "nullable": true,
            "type": "string"
          },
          "sourceId": {
            "description": "Source ID from `POST /v1/sources` (`kind: image` for type = 'image', `kind: video` for type = 'video'). Required for image/video backgrounds unless using an exact URL from `GET /v1/backgrounds`. Input-only.",
            "example": "su_abc123",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Background variant. `ambient`: the clip's screen, else its camera, heavily blurred; no other fields. `shaderGradient`: an animated gradient set by `shaderGradientPreset`; echoing a non-preset one unchanged keeps it.",
            "enum": [
              "solid",
              "gradient",
              "image",
              "video",
              "shaderGradient",
              "ambient"
            ],
            "example": "solid",
            "type": "string"
          },
          "videoDurationSeconds": {
            "description": "Video background duration in seconds. Read-only: derived from the uploaded source or catalog entry on input.",
            "example": 12.4,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "videoUrl": {
            "description": "Hosted video URL. Present in responses and accepted as input only when copied exactly from `GET /v1/backgrounds`; otherwise pass `sourceId`.",
            "format": "uri",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "ClipCameraCrop": {
        "description": "Pixels removed from each edge of the unmirrored camera recording. The edges must leave a visible area.",
        "properties": {
          "bottom": {
            "description": "Pixels of the camera recording removed from its bottom edge",
            "minimum": 0,
            "type": "number"
          },
          "left": {
            "description": "Pixels of the camera recording removed from its left edge",
            "minimum": 0,
            "type": "number"
          },
          "right": {
            "description": "Pixels of the camera recording removed from its right edge",
            "minimum": 0,
            "type": "number"
          },
          "top": {
            "description": "Pixels of the camera recording removed from its top edge",
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "top",
          "right",
          "bottom",
          "left"
        ],
        "type": "object"
      },
      "ClipCameraCropOutput": {
        "additionalProperties": false,
        "description": "Pixels removed from each edge of the unmirrored camera recording. The edges must leave a visible area.",
        "properties": {
          "bottom": {
            "description": "Pixels of the camera recording removed from its bottom edge",
            "minimum": 0,
            "type": "number"
          },
          "left": {
            "description": "Pixels of the camera recording removed from its left edge",
            "minimum": 0,
            "type": "number"
          },
          "right": {
            "description": "Pixels of the camera recording removed from its right edge",
            "minimum": 0,
            "type": "number"
          },
          "top": {
            "description": "Pixels of the camera recording removed from its top edge",
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "top",
          "right",
          "bottom",
          "left"
        ],
        "type": "object"
      },
      "ClipCameraFace": {
        "additionalProperties": false,
        "description": "Where a face appears in the finished video, in the same space as an overlay's `point`/`dimensions`. Only the visible part of a face the layout partly crops",
        "properties": {
          "heightPct": {
            "description": "Height of the face, as a percentage of the video canvas height",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "widthPct": {
            "description": "Width of the face, as a percentage of the video canvas width",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "xPct": {
            "description": "Left edge of the face, as a percentage of the video canvas width",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "yPct": {
            "description": "Top edge of the face, as a percentage of the video canvas height",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "xPct",
          "yPct",
          "widthPct",
          "heightPct"
        ],
        "type": "object"
      },
      "ClipCameraFaceSample": {
        "additionalProperties": false,
        "description": "The faces in one keyframe of the clip's camera recording, while the camera is on screen. Keyframes are usually 1-2 s apart; a face holds its place until the next sample",
        "properties": {
          "faces": {
            "description": "Every confidently detected face visible on the canvas; empty when none is",
            "items": {
              "$ref": "#/components/schemas/ClipCameraFace"
            },
            "type": "array"
          },
          "timestampMs": {
            "description": "Time on the clip's playback timeline (cuts applied), in ms",
            "type": "number"
          }
        },
        "required": [
          "timestampMs",
          "faces"
        ],
        "type": "object"
      },
      "ClipCameraFocusPoint": {
        "description": "The part of the unmirrored, cropped camera recording kept in view when the camera frame's shape differs from it: 0 keeps the left/top edge, 50 the middle, 100 the right/bottom. The face's position keeps the face in frame.",
        "example": {
          "xPct": 50,
          "yPct": 35
        },
        "properties": {
          "xPct": {
            "description": "Horizontal position, 0-100",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "yPct": {
            "description": "Vertical position, 0-100",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "xPct",
          "yPct"
        ],
        "type": "object"
      },
      "ClipCameraFocusPointOutput": {
        "additionalProperties": false,
        "description": "The part of the unmirrored, cropped camera recording kept in view when the camera frame's shape differs from it: 0 keeps the left/top edge, 50 the middle, 100 the right/bottom. The face's position keeps the face in frame.",
        "example": {
          "xPct": 50,
          "yPct": 35
        },
        "properties": {
          "xPct": {
            "description": "Horizontal position, 0-100",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "yPct": {
            "description": "Vertical position, 0-100",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "xPct",
          "yPct"
        ],
        "type": "object"
      },
      "ClipFiltersResponse": {
        "additionalProperties": false,
        "description": "The clip's color filters. A recording's filter is null when that recording is absent. Filters appear in the editor and exports rendered by the new render engine.",
        "properties": {
          "filters": {
            "additionalProperties": false,
            "properties": {
              "camera": {
                "additionalProperties": false,
                "nullable": true,
                "properties": {
                  "contrast": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  },
                  "exposure": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  },
                  "lut": {
                    "additionalProperties": false,
                    "nullable": true,
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "intensity": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "name": {
                        "nullable": true,
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "intensity"
                    ],
                    "type": "object"
                  },
                  "preset": {
                    "enum": [
                      "none",
                      "warm",
                      "cool",
                      "crisp",
                      "fade",
                      "mono",
                      "golden-hour",
                      "vivid",
                      "noir",
                      "dreamy",
                      "night",
                      "custom"
                    ],
                    "type": "string"
                  },
                  "saturation": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  },
                  "temperature": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  },
                  "tint": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  }
                },
                "required": [
                  "preset",
                  "exposure",
                  "contrast",
                  "saturation",
                  "temperature",
                  "tint",
                  "lut"
                ],
                "type": "object"
              },
              "screen": {
                "additionalProperties": false,
                "nullable": true,
                "properties": {
                  "contrast": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  },
                  "exposure": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  },
                  "lut": {
                    "additionalProperties": false,
                    "nullable": true,
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "intensity": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "name": {
                        "nullable": true,
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "intensity"
                    ],
                    "type": "object"
                  },
                  "preset": {
                    "enum": [
                      "none",
                      "warm",
                      "cool",
                      "crisp",
                      "fade",
                      "mono",
                      "golden-hour",
                      "vivid",
                      "noir",
                      "dreamy",
                      "night",
                      "custom"
                    ],
                    "type": "string"
                  },
                  "saturation": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  },
                  "temperature": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  },
                  "tint": {
                    "maximum": 1,
                    "minimum": -1,
                    "type": "number"
                  }
                },
                "required": [
                  "preset",
                  "exposure",
                  "contrast",
                  "saturation",
                  "temperature",
                  "tint",
                  "lut"
                ],
                "type": "object"
              }
            },
            "required": [
              "camera",
              "screen"
            ],
            "type": "object"
          }
        },
        "required": [
          "filters"
        ],
        "type": "object"
      },
      "ClipKeyEvent": {
        "additionalProperties": false,
        "description": "A key press recorded with the clip's screen recording, mapped onto the clip's playback timeline. Keys typed into Tella's own window are left out.",
        "properties": {
          "isRepeat": {
            "description": "An auto-repeat while the key is held down",
            "type": "boolean"
          },
          "key": {
            "description": "The key's label, such as `C`, `Return` or `→`. Null on `modifiersChanged`.",
            "example": "C",
            "nullable": true,
            "type": "string"
          },
          "kind": {
            "description": "`down`/`up` for a key press and release, `modifiersChanged` when the set of held modifiers changes.",
            "enum": [
              "down",
              "up",
              "modifiersChanged"
            ],
            "type": "string"
          },
          "modifiers": {
            "description": "Modifiers held with the key; on `modifiersChanged`, the full set now held.",
            "example": [
              "command"
            ],
            "items": {
              "enum": [
                "control",
                "option",
                "shift",
                "command",
                "capsLock",
                "function"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "timestampMs": {
            "description": "Time in ms on the clip's playback timeline (cuts applied)",
            "example": 1250,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "kind",
          "timestampMs",
          "modifiers",
          "key",
          "isRepeat"
        ],
        "type": "object"
      },
      "ClipLayout": {
        "additionalProperties": false,
        "description": "A layout attached to a clip. Times are in ms on the clip's playback timeline (cuts applied). Internally the layout stays anchored to the footage, so it doesn't drift when cuts change later.",
        "properties": {
          "cameraStyle": {
            "description": "The camera's frame shape, as the editor's Camera style picker sets it, overriding the named layout's own: `circle`, `square`, `portrait`, `none` (a rectangle in the camera slot's aspect, rounded by the clip's `corners`, e.g. a squircle when corners are `squircle`), `cutout` (the presenter cut out of the camera feed with no frame), `blob` or `blob-outline`. It shapes the camera bubble and the pop-out frame. Absent when the layout's own shape applies; custom layouts report it as `presentation.shape` instead.",
            "enum": [
              "none",
              "circle",
              "square",
              "portrait",
              "cutout",
              "blob",
              "blob-outline"
            ],
            "type": "string"
          },
          "crop": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutCropOutput"
              }
            ],
            "description": "The crop of the clip's screen recording while this layout shows — the layout's own crop, else the clip's. Absent when the recording is uncropped.",
            "nullable": true
          },
          "durationMs": {
            "description": "Layout duration in ms. Omitted for clip-spanning layouts.",
            "example": 5000,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "followsBase": {
            "description": "True when this layout follows the clip's base layout: updating the `base` layout changes it too, so it needs no update of its own. False when it has its own layout. Absent on the base layout itself.",
            "type": "boolean"
          },
          "id": {
            "description": "Layout ID",
            "type": "string"
          },
          "layout": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutShape"
              }
            ],
            "description": "Structured layout for this section. Custom layouts, whether arranged in the editor or written through the API, report their geometry as `kind: custom`. Null only for internal layouts outside the public vocabulary.",
            "nullable": true
          },
          "media": {
            "description": "B-roll media on this layout — one entry per filled slot (screen and/or camera). Empty on the base layout and on layouts whose underlying section carries no media. Each entry's `slot` says which slot it fills.",
            "items": {
              "$ref": "#/components/schemas/ClipMediaItem"
            },
            "type": "array"
          },
          "popOut": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipPopOut"
              }
            ],
            "description": "The camera's pop-out while this layout shows. Absent when it is off.",
            "nullable": true
          },
          "startTimeMs": {
            "description": "Layout start time in ms on the clip's playback timeline (cuts applied). Omitted for clip-spanning layouts.",
            "example": 0,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "transitionStyle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LayoutTransitionStyle"
              }
            ],
            "description": "Transition into this layout. Omitted on the base layout, or when the section uses an internal style not exposed via the public API.",
            "nullable": true
          }
        },
        "required": [
          "id",
          "media"
        ],
        "type": "object"
      },
      "ClipLayoutCrop": {
        "description": "A crop of the clip's screen recording, as pixels of the recording removed from each edge. The edges must leave a visible area.",
        "properties": {
          "bottom": {
            "description": "Pixels of the screen recording removed from its bottom edge",
            "minimum": 0,
            "type": "number"
          },
          "left": {
            "description": "Pixels of the screen recording removed from its left edge",
            "minimum": 0,
            "type": "number"
          },
          "right": {
            "description": "Pixels of the screen recording removed from its right edge",
            "minimum": 0,
            "type": "number"
          },
          "top": {
            "description": "Pixels of the screen recording removed from its top edge",
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "top",
          "right",
          "bottom",
          "left"
        ],
        "type": "object"
      },
      "ClipLayoutCropOutput": {
        "additionalProperties": false,
        "description": "A crop of the clip's screen recording, as pixels of the recording removed from each edge. The edges must leave a visible area.",
        "properties": {
          "bottom": {
            "description": "Pixels of the screen recording removed from its bottom edge",
            "minimum": 0,
            "type": "number"
          },
          "left": {
            "description": "Pixels of the screen recording removed from its left edge",
            "minimum": 0,
            "type": "number"
          },
          "right": {
            "description": "Pixels of the screen recording removed from its right edge",
            "minimum": 0,
            "type": "number"
          },
          "top": {
            "description": "Pixels of the screen recording removed from its top edge",
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "top",
          "right",
          "bottom",
          "left"
        ],
        "type": "object"
      },
      "ClipLayoutResponse": {
        "additionalProperties": false,
        "description": "A layout on a clip",
        "properties": {
          "layout": {
            "$ref": "#/components/schemas/ClipLayout"
          }
        },
        "required": [
          "layout"
        ],
        "type": "object"
      },
      "ClipLayoutShape": {
        "description": "Structured layout description, discriminated by `kind`. Valid named kinds depend on the clip's `layoutSceneType` and the video's aspect ratio; the server validates the kind+fields and returns a 400 if they don't fit. `custom` carries explicit per-slot geometry and is valid on any clip.",
        "discriminator": {
          "mapping": {
            "camera-bubble": "#/components/schemas/CameraBubbleLayout",
            "camera-only": "#/components/schemas/CameraOnlyLayout",
            "custom": "#/components/schemas/CustomLayout",
            "cut-out": "#/components/schemas/CutOutLayout",
            "fullscreen": "#/components/schemas/FullscreenLayout",
            "middle": "#/components/schemas/MiddleLayout",
            "screen-only": "#/components/schemas/ScreenOnlyLayout",
            "side-by-side": "#/components/schemas/SideBySideLayout",
            "tv-presenter": "#/components/schemas/TVPresenterLayout"
          },
          "propertyName": "kind"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/FullscreenLayout"
          },
          {
            "$ref": "#/components/schemas/MiddleLayout"
          },
          {
            "$ref": "#/components/schemas/SideBySideLayout"
          },
          {
            "$ref": "#/components/schemas/TVPresenterLayout"
          },
          {
            "$ref": "#/components/schemas/CutOutLayout"
          },
          {
            "$ref": "#/components/schemas/CameraBubbleLayout"
          },
          {
            "$ref": "#/components/schemas/CameraOnlyLayout"
          },
          {
            "$ref": "#/components/schemas/ScreenOnlyLayout"
          },
          {
            "$ref": "#/components/schemas/CustomLayout"
          }
        ],
        "type": "object"
      },
      "ClipMask": {
        "additionalProperties": false,
        "description": "A blur or highlight mask on a clip. Times are in ms on the clip's playback timeline (cuts applied). Internally the mask stays anchored to the footage, so it doesn't drift when cuts change later.",
        "properties": {
          "dimensions": {
            "$ref": "#/components/schemas/MaskDimensionsOutput"
          },
          "durationMs": {
            "example": 2000,
            "minimum": 0,
            "type": "number"
          },
          "id": {
            "description": "Mask ID",
            "example": "ly_abc123",
            "type": "string"
          },
          "intensity": {
            "description": "Strength from 0 to 1. Blur: 0 is the standard blur and 1 blurs three times as heavily; the content stays fully hidden at every value (defaults to 0). Highlight: how dark the area outside the highlight goes, 0 = no dimming, 1 = black (defaults to 0.7).",
            "example": 0.7,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "point": {
            "$ref": "#/components/schemas/MaskPointOutput"
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "example": 1000,
            "minimum": 0,
            "type": "number"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "`smooth` fades the mask in and out, `hard_cut` pops it. New masks start on `hard_cut`."
          },
          "type": {
            "enum": [
              "blur",
              "highlight"
            ],
            "example": "blur",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "startTimeMs",
          "durationMs",
          "point",
          "dimensions",
          "intensity",
          "transition"
        ],
        "type": "object"
      },
      "ClipMaskResponse": {
        "additionalProperties": false,
        "description": "A mask on a clip",
        "properties": {
          "mask": {
            "$ref": "#/components/schemas/ClipMask"
          }
        },
        "required": [
          "mask"
        ],
        "type": "object"
      },
      "ClipMedia": {
        "description": "Media shown during a layout. `image` or `video`, each referencing a `sourceId` from `POST /v1/sources`, `recording`, a moment from the clip's own recording, or `motion`, a Tella Motion document of the video's.",
        "discriminator": {
          "mapping": {
            "image": "#/components/schemas/ClipMediaImage",
            "motion": "#/components/schemas/ClipMediaMotion",
            "recording": "#/components/schemas/ClipMediaRecording",
            "video": "#/components/schemas/ClipMediaVideo"
          },
          "propertyName": "type"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ClipMediaImage"
          },
          {
            "$ref": "#/components/schemas/ClipMediaVideo"
          },
          {
            "$ref": "#/components/schemas/ClipMediaRecording"
          },
          {
            "$ref": "#/components/schemas/ClipMediaMotion"
          }
        ],
        "type": "object"
      },
      "ClipMediaImage": {
        "additionalProperties": false,
        "description": "Image media. The image fills the section's layer per the chosen layoutName.",
        "properties": {
          "slot": {
            "description": "Which slot the media fills: `screen` (the subject/main frame, the default) or `camera` (the bubble/presentation slot — a media bubble over the recording behind it). A `camera` slot requires a layout that renders the camera (e.g. camera-bubble, side-by-side, tv-presenter).",
            "enum": [
              "screen",
              "camera"
            ],
            "type": "string"
          },
          "sourceId": {
            "description": "Source ID from `POST /v1/sources` (`kind: image`).",
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "image"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "sourceId"
        ],
        "title": "ClipMediaImage",
        "type": "object"
      },
      "ClipMediaItem": {
        "additionalProperties": false,
        "description": "Media on a layout, as returned in responses.",
        "properties": {
          "documentId": {
            "description": "The Tella Motion document (ffd_…) that `motion` media plays.",
            "type": "string"
          },
          "height": {
            "description": "Image height in pixels (image media only).",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "nullable": true,
            "type": "integer"
          },
          "imageUrl": {
            "description": "Hosted image URL, for image media. Read-only: not accepted as input — pass `sourceId` instead.",
            "nullable": true,
            "type": "string"
          },
          "muted": {
            "description": "True when video media plays with its own audio silenced.",
            "nullable": true,
            "type": "boolean"
          },
          "slot": {
            "description": "Which slot the media fills: `screen` (the subject/main frame, the default) or `camera` (the bubble/presentation slot — a media bubble over the recording behind it). A `camera` slot requires a layout that renders the camera (e.g. camera-bubble, side-by-side, tv-presenter).",
            "enum": [
              "screen",
              "camera"
            ],
            "type": "string"
          },
          "sourceId": {
            "description": "Source ID the media was created from. Absent for image media added in the editor.",
            "nullable": true,
            "type": "string"
          },
          "startTimeMs": {
            "description": "Video media only: where it starts in its source, in ms. Absent when it plays from the start.",
            "nullable": true,
            "type": "number"
          },
          "type": {
            "enum": [
              "image",
              "video",
              "motion"
            ],
            "type": "string"
          },
          "width": {
            "description": "Image width in pixels (image media only).",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "ClipMediaMotion": {
        "additionalProperties": false,
        "description": "A Tella Motion document shown as b-roll. It is linked, not copied: it plays live, so edits to the document show in the video at once.",
        "properties": {
          "documentId": {
            "description": "A Tella Motion document of this video's (ffd_…), from `POST /v1/motion/documents`.",
            "minLength": 1,
            "type": "string"
          },
          "slot": {
            "description": "Which slot the media fills: `screen` (the subject/main frame, the default) or `camera` (the bubble/presentation slot — a media bubble over the recording behind it). A `camera` slot requires a layout that renders the camera (e.g. camera-bubble, side-by-side, tv-presenter).",
            "enum": [
              "screen",
              "camera"
            ],
            "type": "string"
          },
          "type": {
            "enum": [
              "motion"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "documentId"
        ],
        "title": "ClipMediaMotion",
        "type": "object"
      },
      "ClipMediaRecording": {
        "additionalProperties": false,
        "description": "A moment from the clip's own screen recording (its uploaded footage on an uploaded clip), shown as b-roll. Reported back as `video` media on the recording's source.",
        "properties": {
          "muted": {
            "description": "Silence the recording's own audio. Defaults to true, since it would repeat the clip's.",
            "type": "boolean"
          },
          "slot": {
            "description": "Which slot the media fills: `screen` (the subject/main frame, the default) or `camera` (the bubble/presentation slot — a media bubble over the recording behind it). A `camera` slot requires a layout that renders the camera (e.g. camera-bubble, side-by-side, tv-presenter).",
            "enum": [
              "screen",
              "camera"
            ],
            "type": "string"
          },
          "startTimeMs": {
            "description": "Where the b-roll starts, in ms on this clip's playback timeline. It plays the recording on for the layout's duration, including any footage cut out in that stretch.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "enum": [
              "recording"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "startTimeMs"
        ],
        "title": "ClipMediaRecording",
        "type": "object"
      },
      "ClipMediaVideo": {
        "additionalProperties": false,
        "description": "Video media.",
        "properties": {
          "muted": {
            "description": "Silence the video's own audio. Defaults to false.",
            "type": "boolean"
          },
          "slot": {
            "description": "Which slot the media fills: `screen` (the subject/main frame, the default) or `camera` (the bubble/presentation slot — a media bubble over the recording behind it). A `camera` slot requires a layout that renders the camera (e.g. camera-bubble, side-by-side, tv-presenter).",
            "enum": [
              "screen",
              "camera"
            ],
            "type": "string"
          },
          "sourceId": {
            "description": "Source ID from `POST /v1/sources`.",
            "minLength": 1,
            "type": "string"
          },
          "startTimeMs": {
            "description": "Where the video starts, in ms of the source itself (its in-point, like the editor's Trim). Defaults to 0. Must be inside the source; a layout longer than what is left of the source loops from this point.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "enum": [
              "video"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "sourceId"
        ],
        "title": "ClipMediaVideo",
        "type": "object"
      },
      "ClipMouseEvent": {
        "additionalProperties": false,
        "description": "A cursor position or click recorded with the clip's screen recording, mapped onto the clip's playback timeline",
        "properties": {
          "clicked": {
            "description": "True when a mouse button went down at this event. Recordings sample the button state continuously, so a drag reports true only on the initial press — the samples while the button stays held are returned as move events.",
            "type": "boolean"
          },
          "isLocalEvent": {
            "description": "True when the event happened inside Tella's own recorder UI (e.g. the recording controls) rather than the recorded content",
            "type": "boolean"
          },
          "timestampMs": {
            "description": "Time in ms on the clip's playback timeline (cuts applied)",
            "example": 1000,
            "minimum": 0,
            "type": "number"
          },
          "xPct": {
            "description": "Horizontal cursor position as a percentage of the screen recording's width (0-100) — the same coordinate space as zoom focus points.",
            "example": 42.5,
            "type": "number"
          },
          "yPct": {
            "description": "Vertical cursor position as a percentage of the screen recording's height (0-100)",
            "example": 63.1,
            "type": "number"
          }
        },
        "required": [
          "timestampMs",
          "xPct",
          "yPct",
          "clicked",
          "isLocalEvent"
        ],
        "type": "object"
      },
      "ClipOverlay": {
        "additionalProperties": false,
        "description": "An image, video or Tella Motion overlay on a clip.",
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimation"
              }
            ],
            "description": "How the overlay enters and leaves, or null when it plays its `transition`.",
            "nullable": true
          },
          "depth": {
            "$ref": "#/components/schemas/OverlayDepth"
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "$ref": "#/components/schemas/OverlayDimensionsOutput"
          },
          "durationMs": {
            "example": 5000,
            "minimum": 0,
            "type": "number"
          },
          "id": {
            "description": "Overlay ID",
            "example": "ly_abc123",
            "type": "string"
          },
          "imageUrl": {
            "description": "Hosted image URL, for image overlays. Read-only: not accepted as input — pass `sourceId` instead.",
            "nullable": true,
            "type": "string"
          },
          "motionDocumentId": {
            "description": "The Tella Motion document (ffd_…) a `motion` overlay plays. Edit it with `POST /v1/motion/documents/{id}/commands`.",
            "example": "ffd_abc123",
            "type": "string"
          },
          "name": {
            "example": "Logo",
            "nullable": true,
            "type": "string"
          },
          "point": {
            "$ref": "#/components/schemas/OverlayPointOutput"
          },
          "sourceId": {
            "description": "Source ID the overlay was created from.",
            "example": "su_abc123",
            "nullable": true,
            "type": "string"
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "minimum": 0,
            "type": "number"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the overlay in at its start and out at its end, `hard_cut` pops it in and out. New overlays start on `hard_cut`. An `animation` replaces it while set.",
            "example": "hard_cut"
          },
          "type": {
            "description": "`motion` plays a Tella Motion document of the video's live (`motionDocumentId`).",
            "enum": [
              "image",
              "video",
              "motion"
            ],
            "example": "image",
            "type": "string"
          },
          "zIndex": {
            "$ref": "#/components/schemas/OverlayZIndex"
          }
        },
        "required": [
          "id",
          "type",
          "startTimeMs",
          "durationMs",
          "point",
          "dimensions",
          "transition",
          "depth",
          "zIndex",
          "animation"
        ],
        "type": "object"
      },
      "ClipOverlayResponse": {
        "additionalProperties": false,
        "description": "An overlay on a clip",
        "properties": {
          "overlay": {
            "$ref": "#/components/schemas/ClipOverlay"
          }
        },
        "required": [
          "overlay"
        ],
        "type": "object"
      },
      "ClipPopOut": {
        "additionalProperties": false,
        "description": "Pop-out for the camera: the presenter is cut out of the camera feed and rises out of a frame that sits behind their head. The frame's outline follows the layout's `cameraStyle`: the circle style gives a circle, never an ellipse, as wide as the slot's shorter side; the blob style an animated blob; any other style a rectangle in the slot's aspect, rounded by the clip's `corners`. Set `cameraStyle` (e.g. `none` with squircle `corners` for a squircle frame) when the outline is not what the user asked for. Needs a camera recording on the clip and a layout that frames it (any camera layout except cut-out and screen-only). Every field is optional; a write merges over the layout's current settings, and a fresh pop-out takes the defaults for unset fields. Responses report every field.",
        "properties": {
          "amount": {
            "description": "How far the frame shrinks below the presenter, as a fraction of the camera slot (0–0.5). Defaults to 0.22.",
            "maximum": 0.5,
            "minimum": 0,
            "type": "number"
          },
          "background": {
            "description": "What fills the frame behind the presenter: `original` keeps the camera feed, `color` paints `color`. Defaults to `original`.",
            "enum": [
              "original",
              "color"
            ],
            "type": "string"
          },
          "color": {
            "description": "Frame fill when `background` is `color`, as #RRGGBB or #RRGGBBAA. Defaults to #6366F1.",
            "pattern": "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$",
            "type": "string"
          },
          "outlineColor": {
            "description": "Outline colour as #RRGGBB or #RRGGBBAA. Defaults to #FFFFFF.",
            "pattern": "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$",
            "type": "string"
          },
          "outlineWidth": {
            "description": "Outline around the frame as a fraction of its width (0–0.05); 0 draws none. Defaults to 0.",
            "maximum": 0.05,
            "minimum": 0,
            "type": "number"
          }
        },
        "type": "object"
      },
      "ClipShapeOverlay": {
        "additionalProperties": false,
        "description": "A shape overlay on a clip: a square, circle, star… filled with any clip background.",
        "properties": {
          "border": {
            "$ref": "#/components/schemas/ShapeBorderOutput"
          },
          "corners": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ],
            "description": "How a square's corners are rounded."
          },
          "depth": {
            "$ref": "#/components/schemas/OverlayDepth"
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "$ref": "#/components/schemas/OverlayDimensionsOutput"
          },
          "durationMs": {
            "minimum": 0,
            "type": "number"
          },
          "fill": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipBackgroundOutput"
              }
            ],
            "description": "What fills the shape, cut to its outline."
          },
          "id": {
            "description": "Shape overlay ID",
            "example": "ly_abc123",
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "path": {
            "description": "SVG path data in a 0–100 box, for shapeType `path`; null otherwise.",
            "nullable": true,
            "type": "string"
          },
          "point": {
            "$ref": "#/components/schemas/OverlayPointOutput"
          },
          "shadow": {
            "$ref": "#/components/schemas/TextOverlayShadow"
          },
          "shapeType": {
            "$ref": "#/components/schemas/ShapeType"
          },
          "startTimeMs": {
            "minimum": 0,
            "type": "number"
          },
          "transition": {
            "$ref": "#/components/schemas/TransitionStyle"
          },
          "zIndex": {
            "$ref": "#/components/schemas/OverlayZIndex"
          }
        },
        "required": [
          "id",
          "name",
          "shapeType",
          "path",
          "fill",
          "corners",
          "border",
          "shadow",
          "startTimeMs",
          "durationMs",
          "point",
          "dimensions",
          "transition",
          "depth",
          "zIndex"
        ],
        "type": "object"
      },
      "ClipShapeOverlayResponse": {
        "additionalProperties": false,
        "description": "A shape overlay on a clip",
        "properties": {
          "shapeOverlay": {
            "$ref": "#/components/schemas/ClipShapeOverlay"
          }
        },
        "required": [
          "shapeOverlay"
        ],
        "type": "object"
      },
      "ClipSoundEffect": {
        "additionalProperties": false,
        "description": "A sound effect on a clip.",
        "properties": {
          "durationMs": {
            "example": 3000,
            "minimum": 0,
            "type": "number"
          },
          "id": {
            "description": "Sound effect ID",
            "example": "ly_abc123",
            "type": "string"
          },
          "name": {
            "example": "Whoosh",
            "nullable": true,
            "type": "string"
          },
          "sourceId": {
            "example": "su_abc123",
            "nullable": true,
            "type": "string"
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "minimum": 0,
            "type": "number"
          },
          "volume": {
            "description": "Playback volume (1 = original).",
            "example": 1,
            "type": "number"
          }
        },
        "required": [
          "id",
          "startTimeMs",
          "durationMs",
          "volume"
        ],
        "type": "object"
      },
      "ClipSoundEffectResponse": {
        "additionalProperties": false,
        "description": "A sound effect on a clip",
        "properties": {
          "soundEffect": {
            "$ref": "#/components/schemas/ClipSoundEffect"
          }
        },
        "required": [
          "soundEffect"
        ],
        "type": "object"
      },
      "ClipSource": {
        "additionalProperties": false,
        "description": "An underlying source used by a clip",
        "properties": {
          "dimensions": {
            "additionalProperties": false,
            "description": "Native pixel dimensions of the source.",
            "example": {
              "height": 1080,
              "width": 1920
            },
            "nullable": true,
            "properties": {
              "height": {
                "exclusiveMinimum": true,
                "maximum": 9007199254740991,
                "minimum": 0,
                "type": "integer"
              },
              "width": {
                "exclusiveMinimum": true,
                "maximum": 9007199254740991,
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "width",
              "height"
            ],
            "type": "object"
          },
          "durationMs": {
            "description": "Source duration in ms",
            "example": 12450,
            "nullable": true,
            "type": "number"
          },
          "effectiveVolume": {
            "description": "The volume the source actually plays at in this clip: its override when set, otherwise the video-level volume it inherits (`microphoneVolume` for webcam audio, `systemAudioVolume` for everything else).",
            "example": 1,
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          },
          "id": {
            "description": "Source ID",
            "example": "su_abc",
            "type": "string"
          },
          "medium": {
            "description": "Recording medium (Mic, CameraMic, Screen, ScreenMic, Video, None)",
            "example": "ScreenMic",
            "type": "string"
          },
          "url": {
            "description": "Signed URL to the original source media. Only present for callers who may export raw sources: editors of the video, or anyone with access when the video allows both downloads and raw downloads.",
            "nullable": true,
            "type": "string"
          },
          "volume": {
            "description": "This clip's volume override for the source, or null when it plays at the video's `microphoneVolume`/`systemAudioVolume`.",
            "example": 0.4,
            "maximum": 2,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "medium",
          "volume",
          "effectiveVolume"
        ],
        "type": "object"
      },
      "ClipTextOverlay": {
        "additionalProperties": false,
        "description": "A text overlay on a clip. Unlike image and video overlays it references no source — the copy and its font live on the overlay itself.",
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimation"
              }
            ],
            "description": "How the text enters and leaves, or null when it plays its `transition`.",
            "nullable": true
          },
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundOutput"
              }
            ],
            "description": "Background behind the text. Overlays with no visible box report a solid #00000000."
          },
          "backgroundPadding": {
            "$ref": "#/components/schemas/TextOverlayBackgroundPadding"
          },
          "backgroundShape": {
            "$ref": "#/components/schemas/TextOverlayBackgroundShape"
          },
          "color": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#FFFFFFFF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "depth": {
            "$ref": "#/components/schemas/OverlayDepth"
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "$ref": "#/components/schemas/OverlayDimensionsOutput"
          },
          "durationMs": {
            "example": 5000,
            "minimum": 0,
            "type": "number"
          },
          "fontFamily": {
            "description": "The overlay's font family. Normally one of the catalog families accepted on write, or a library font's family when `fontId` is set. Overlays created before that catalog can report another bundled family, such as `Graphik`.",
            "example": "Inter",
            "type": "string"
          },
          "fontId": {
            "description": "The library font the overlay renders with (a `font` item's id), absent for a catalog family.",
            "example": "media_abc123def456",
            "type": "string"
          },
          "fontSize": {
            "description": "Font size in artboard pixels — absolute, like `dimensions`, so text keeps its size relative to the frame. Renderers scale it by their render scale factor.",
            "example": 81,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "fontWeight": {
            "description": "Variable-font weight axis — 100 (thin) to 900 (black).",
            "example": 500,
            "type": "number"
          },
          "fontWidth": {
            "description": "Variable-font width axis, as a percentage — 100 is normal, 50 ultra-condensed, 150 extra-expanded.",
            "example": 100,
            "type": "number"
          },
          "id": {
            "description": "Text overlay ID",
            "example": "ly_abc123",
            "type": "string"
          },
          "outline": {
            "$ref": "#/components/schemas/TextOverlayOutline"
          },
          "point": {
            "$ref": "#/components/schemas/OverlayPointOutput"
          },
          "shadow": {
            "$ref": "#/components/schemas/TextOverlayShadow"
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "example": 1000,
            "minimum": 0,
            "type": "number"
          },
          "text": {
            "example": "Welcome back",
            "type": "string"
          },
          "textAlign": {
            "$ref": "#/components/schemas/TextOverlayTextAlign"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the text in at its start and out at its end, `hard_cut` pops it in and out. New text overlays start on `hard_cut`. An `animation` replaces it while set.",
            "example": "hard_cut"
          },
          "zIndex": {
            "$ref": "#/components/schemas/OverlayZIndex"
          }
        },
        "required": [
          "id",
          "text",
          "fontFamily",
          "fontSize",
          "color",
          "fontWeight",
          "fontWidth",
          "textAlign",
          "background",
          "backgroundShape",
          "outline",
          "backgroundPadding",
          "shadow",
          "startTimeMs",
          "durationMs",
          "point",
          "dimensions",
          "transition",
          "depth",
          "zIndex",
          "animation"
        ],
        "type": "object"
      },
      "ClipTextOverlayResponse": {
        "additionalProperties": false,
        "description": "A text overlay on a clip",
        "properties": {
          "textOverlay": {
            "$ref": "#/components/schemas/ClipTextOverlay"
          }
        },
        "required": [
          "textOverlay"
        ],
        "type": "object"
      },
      "ClipTranscriptResponse": {
        "additionalProperties": false,
        "description": "Clip transcript — what viewers hear.",
        "properties": {
          "words": {
            "description": "Words on the playback timeline (cuts removed, times relative to the clip's playback start). Word indices are stable — they don't shift when cuts change; words inside cuts are simply absent.",
            "items": {
              "$ref": "#/components/schemas/TranscriptWord"
            },
            "type": "array"
          }
        },
        "required": [
          "words"
        ],
        "type": "object"
      },
      "ClipTranscriptSentencesResponse": {
        "additionalProperties": false,
        "description": "Clip transcript as sentences (`view=sentences`).",
        "properties": {
          "sentences": {
            "description": "Sentences on the playback timeline (cuts removed), split at `.`, `?` and `!`. Word indices can have gaps where words were cut.",
            "items": {
              "$ref": "#/components/schemas/TranscriptSentence"
            },
            "type": "array"
          }
        },
        "required": [
          "sentences"
        ],
        "type": "object"
      },
      "ClipTranscriptTextResponse": {
        "additionalProperties": false,
        "description": "Clip transcript as indexed text (`view=text`).",
        "properties": {
          "text": {
            "description": "The transcript on the playback timeline (cuts removed) as plain text: one sentence per line, split at `.`, `?` and `!`, starting with the sentence's start time as `[m:ss.s]`, then each word as `index:word`. Word indices can have gaps where words were cut.",
            "example": "[0:01.5] 12:Hello 13:and 14:welcome.\n[0:04.2] 15:Let's 16:start.",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "ClipTransition": {
        "description": "How a clip enters from the previous one. `default` inherits the video's `defaultClipTransition`; `smooth` and `hard_cut` override it for this clip. The first clip in a video has nothing to transition from.",
        "enum": [
          "default",
          "smooth",
          "hard_cut"
        ],
        "example": "default",
        "type": "string"
      },
      "ClipUncutTranscriptResponse": {
        "additionalProperties": false,
        "description": "Clip transcript with cut words (`includeCut=true`).",
        "properties": {
          "words": {
            "description": "Every word of the clip's recording in order, including the ones cuts removed (`includeCut=true`).",
            "items": {
              "$ref": "#/components/schemas/UncutTranscriptWord"
            },
            "type": "array"
          }
        },
        "required": [
          "words"
        ],
        "type": "object"
      },
      "ClipZoom": {
        "additionalProperties": false,
        "description": "A zoom effect applied to the footage in the clip's Screen slot — the screen recording, or b-roll media a layout puts there (the camera is unaffected). Use `manualZoom` with a `focusPoint`, or `trackingZoom` to follow the cursor automatically. Times are in ms on the clip's playback timeline (cuts applied). Internally the zoom stays anchored to the footage, so it doesn't drift when cuts change later.",
        "properties": {
          "durationMs": {
            "description": "Duration in ms of playback. 0 when the zoom's footage is entirely cut out.",
            "example": 2000,
            "minimum": 0,
            "type": "number"
          },
          "focusPoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZoomFocusPointOutput"
              }
            ],
            "nullable": true
          },
          "id": {
            "description": "Zoom ID",
            "example": "ef_abc123",
            "type": "string"
          },
          "introTransition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "How the zoom enters: `smooth` (the default) animates in, `hard_cut` jumps straight in.",
            "example": "hard_cut"
          },
          "outroTransition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "How the zoom leaves: `smooth` (the default) animates out, `hard_cut` jumps straight back."
          },
          "scale": {
            "description": "Magnification factor (1 = no zoom, 3.5 = max).",
            "example": 2,
            "maximum": 3.5,
            "minimum": 1,
            "nullable": true,
            "type": "number"
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "example": 1000,
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "description": "`manualZoom` zooms into a fixed `focusPoint` on the screen. `trackingZoom` automatically follows the cursor in the screen recording.",
            "enum": [
              "manualZoom",
              "trackingZoom"
            ],
            "example": "manualZoom",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "startTimeMs",
          "durationMs",
          "introTransition",
          "outroTransition"
        ],
        "type": "object"
      },
      "ClipZoomResponse": {
        "additionalProperties": false,
        "description": "A zoom on a clip",
        "properties": {
          "zoom": {
            "$ref": "#/components/schemas/ClipZoom"
          }
        },
        "required": [
          "zoom"
        ],
        "type": "object"
      },
      "Collaborator": {
        "additionalProperties": false,
        "description": "A collaborator on a video",
        "properties": {
          "email": {
            "description": "User's email address",
            "example": "editor@example.com",
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
            "type": "string"
          },
          "name": {
            "description": "User's display name",
            "example": "Jane Doe",
            "type": "string"
          },
          "role": {
            "description": "Role to grant. Allowed values: 'editor' or 'viewer'.",
            "enum": [
              "editor",
              "viewer"
            ],
            "example": "editor",
            "type": "string"
          },
          "userId": {
            "description": "User identifier",
            "example": "usr_abc123def456",
            "type": "string"
          }
        },
        "required": [
          "userId",
          "email",
          "name",
          "role"
        ],
        "type": "object"
      },
      "CreateEndpointRequest": {
        "description": "Request body for creating a webhook endpoint",
        "properties": {
          "filterTypes": {
            "description": "Event types to subscribe to (e.g., video.created, export.ready)",
            "example": [
              "video.created",
              "export.ready"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "url": {
            "description": "The URL where webhook events will be sent",
            "example": "https://example.com/webhooks/tella",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "url",
          "filterTypes"
        ],
        "type": "object"
      },
      "CreateEndpointResponse": {
        "additionalProperties": false,
        "description": "Response when a webhook endpoint is created",
        "properties": {
          "id": {
            "description": "Unique identifier for the webhook endpoint",
            "example": "ep_abc123def456",
            "type": "string"
          },
          "secret": {
            "description": "Signing secret for verifying webhook payloads (shown only once)",
            "example": "whsec_xyz789...",
            "type": "string"
          }
        },
        "required": [
          "id",
          "secret"
        ],
        "type": "object"
      },
      "CreateGenerationRequest": {
        "additionalProperties": false,
        "description": "Start generating media from a prompt",
        "properties": {
          "model": {
            "description": "Which model to use. For `image`, a GPT Image 2.5 model: `sunburst` (default) is the most capable and follows reference images most precisely; `flare` is faster. For `video`, a Seedance model: `seedance-2.5` is the default and has the best quality (1080p); `seedance-2.0-fast` is quicker and cheaper (720p); `seedance-2.0-mini` is the cheapest (720p). Not accepted for `sound-effect`.",
            "enum": [
              "sunburst",
              "flare",
              "seedance-2.5",
              "seedance-2.0-fast",
              "seedance-2.0-mini"
            ],
            "example": "flare",
            "type": "string"
          },
          "prompt": {
            "description": "What to generate. Up to 4000 characters for an image, 2000 for a video or a sound effect.",
            "example": "A watercolor illustration of a lighthouse at dawn",
            "minLength": 1,
            "type": "string"
          },
          "referenceSourceId": {
            "description": "For `image` and `video` only: the `sourceId` of an image source to guide the generation — from `POST /v1/sources` (`kind: \"image\"`) after uploading the bytes, or an `image` library item's `sourceId`.",
            "example": "su_abc123def456",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/GenerationType"
          }
        },
        "required": [
          "type",
          "prompt"
        ],
        "type": "object"
      },
      "CreateGenerationResponse": {
        "additionalProperties": false,
        "description": "The generation that was started, plus the weekly allowance for sound effects",
        "properties": {
          "generation": {
            "$ref": "#/components/schemas/Generation"
          },
          "limit": {
            "description": "For `sound-effect`, the caller's weekly AI generation allowance, which depends on the plan. Images and videos are charged in the workspace's credits instead and have no weekly allowance: they report 1000000",
            "example": 20,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "remaining": {
            "description": "For `sound-effect`, generations left in the current week, after this one; 1000000 for images and videos",
            "example": 19,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "resetAt": {
            "description": "For `sound-effect`, when the weekly allowance resets, as a millisecond epoch; 0 for images and videos",
            "example": 1760000000000,
            "type": "number"
          }
        },
        "required": [
          "generation",
          "limit",
          "remaining",
          "resetAt"
        ],
        "type": "object"
      },
      "CreateLibraryItemRequest": {
        "additionalProperties": false,
        "description": "Save an uploaded source to the library so it can be listed and reused later, or, with `from`, bring in an image you saved in a connected Pinterest, Are.na or mymind account, or a vintage film shot. LUT sources must be valid 3D .cube files with LUT_3D_SIZE at most 65. Apply a saved LUT using its item id in PATCH /v1/videos/{id}/clips/{clipId}/filters. Font sources must be .ttf or .otf files of at most 20 MB; the item is named after the font's family and its id is a text overlay's `fontId`.",
        "properties": {
          "from": {
            "description": "Bring an image in from your connected Pinterest, Are.na or mymind account, or a shot from Tella's `vintage` film catalog, instead of saving an uploaded source. Tella copies it, and the returned item's `sourceId` places it like any other image or video.",
            "enum": [
              "pinterest",
              "arena",
              "mymind",
              "vintage"
            ],
            "example": "pinterest",
            "type": "string"
          },
          "name": {
            "description": "Display name shown in the library. Defaults to the item's type, or for a `vintage` shot, the film's title and year.",
            "example": "Intro camera take",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "scope": {
            "description": "Where to save the item (default: `private`). `workspace` shares it with everyone in the workspace and requires an owner or member role; viewers get a 403. `video`, with `from` set to `pinterest`, `arena` or `mymind` only, saves it to the library of the video named by `videoId`.",
            "enum": [
              "private",
              "workspace",
              "video"
            ],
            "type": "string"
          },
          "sourceId": {
            "description": "Source ID from `POST /v1/sources`, with the bytes already uploaded to its `uploadUrl`. With `from`, the `id` of an item from `GET /v1/library?scope=<from>` instead.",
            "example": "su_abc123def456",
            "type": "string"
          },
          "type": {
            "description": "Expected item type. Optional — the type is taken from the source's own kind; supplying a value that disagrees is an error.",
            "enum": [
              "image",
              "video",
              "sound-effect",
              "lut",
              "font"
            ],
            "type": "string"
          },
          "videoId": {
            "description": "With `from` and `scope: \"video\"`: the video whose media library the image is saved to. Requires edit access to that video.",
            "example": "vid_abc123def456",
            "type": "string"
          }
        },
        "required": [
          "sourceId"
        ],
        "type": "object"
      },
      "CreateLibraryItemResponse": {
        "additionalProperties": false,
        "description": "The newly created library item",
        "properties": {
          "item": {
            "$ref": "#/components/schemas/LibraryItem"
          }
        },
        "required": [
          "item"
        ],
        "type": "object"
      },
      "CreateMotionClipRequest": {
        "description": "A new clip at the end of the video that plays a blank Tella Motion document of its own, as large as the video and `duration` seconds long (10 when absent), or your document `documentId`. Without `videoId`, a new video as large as that document. The clip lasts as long as its document.",
        "properties": {
          "documentId": {
            "description": "A Tella Motion document of yours that no video plays yet, for the clip to play instead of a blank one. The video takes it over.",
            "example": "ffd_abc123",
            "type": "string"
          },
          "duration": {
            "description": "How long the clip plays, in seconds (default 10): the blank document's canvas length. Not with `documentId`, whose document keeps its own length.",
            "example": 4,
            "maximum": 3600,
            "minimum": 0.1,
            "type": "number"
          },
          "name": {
            "description": "The clip's name, and the new video's when there is no `videoId`.",
            "example": "Intro title",
            "minLength": 1,
            "type": "string"
          },
          "videoId": {
            "description": "The video (vid_…) to add the clip to. Leave it out, with `documentId`, for a new video.",
            "example": "vid_abc123",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreateMotionDocumentRequest": {
        "description": "A blank document, owned by a video for an overlay or b-roll you build in place, or by you until a video takes it over. It is not put in the media library. Its canvas is 10 s long until a `canvas.set` op changes it.",
        "properties": {
          "height": {
            "description": "Canvas height in pixels. Defaults to the video's, or 1080 without a video.",
            "maximum": 7680,
            "minimum": 16,
            "type": "number"
          },
          "name": {
            "description": "What it shows.",
            "example": "Lower third",
            "minLength": 1,
            "type": "string"
          },
          "videoId": {
            "description": "The video (vid_…) that owns the document. Leave it out for one of your own that no video plays yet: the first video it is placed in takes it over.",
            "example": "vid_abc123",
            "type": "string"
          },
          "width": {
            "description": "Canvas width in pixels. Defaults to the video's, or 1920 without a video.",
            "maximum": 7680,
            "minimum": 16,
            "type": "number"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreatePlaylistGroupRequest": {
        "description": "Request to create a playlist group",
        "properties": {
          "emoji": {
            "description": "Unicode emoji character for the group",
            "example": "📁",
            "maxLength": 10,
            "type": "string"
          },
          "name": {
            "description": "Playlist group name",
            "example": "Marketing",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "visibility": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistGroupVisibility"
              }
            ],
            "description": "Where the group lives. Default: personal"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreatePlaylistRequest": {
        "additionalProperties": false,
        "description": "Request body for creating a new playlist",
        "properties": {
          "description": {
            "description": "Playlist description",
            "example": "A collection of tutorial videos",
            "maxLength": 5000,
            "type": "string"
          },
          "emoji": {
            "description": "Unicode emoji character for the playlist",
            "example": "🎬",
            "maxLength": 10,
            "type": "string"
          },
          "linkScope": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistLinkScope"
              }
            ],
            "description": "Access level (default: public)"
          },
          "name": {
            "description": "Playlist name (required)",
            "example": "Product Tutorials",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "password": {
            "description": "Password for viewing. Required when linkScope is 'password', ignored otherwise.",
            "example": "secretpassword",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "searchEngineIndexingEnabled": {
            "description": "Allow search engine indexing (default: false)",
            "example": false,
            "type": "boolean"
          },
          "visibility": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistVisibility"
              }
            ],
            "description": "Share with org or keep personal (default: personal)"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreateSourceRequest": {
        "additionalProperties": false,
        "description": "Create a new source upload (video, audio, image, 3D .cube LUT, or font). Returns a pre-signed S3 URL to PUT the bytes to, plus a `sourceId` to reference from clips, layouts, overlays, backgrounds, and sound effects. For a LUT, upload the .cube unchanged and save it with POST /v1/library; use the returned library item id with PATCH /v1/videos/{id}/clips/{clipId}/filters. For a font, upload the .ttf or .otf unchanged and save it with POST /v1/library; use the returned library item id as a text overlay's `fontId`.",
        "properties": {
          "duration": {
            "description": "Duration in seconds. Required for `video` and `audio`; omit for `image`, `lut` and `font`.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "height": {
            "description": "Height in pixels. Required for `video` and `image`; omit for `audio`, `lut` and `font`.",
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "kind": {
            "description": "Source kind: `video` (default), `audio` (e.g. sound effects), `image`, `lut` (a 3D .cube LUT), or `font` (a .ttf or .otf file).",
            "enum": [
              "video",
              "audio",
              "image",
              "lut",
              "font"
            ],
            "type": "string"
          },
          "width": {
            "description": "Width in pixels. Required for `video` and `image`; omit for `audio`, `lut` and `font`.",
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "CreateSourceResponse": {
        "additionalProperties": false,
        "properties": {
          "expiresAt": {
            "description": "ISO-8601 timestamp at which `uploadUrl` stops accepting uploads.",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
            "type": "string"
          },
          "sourceId": {
            "description": "ID of the new source.",
            "type": "string"
          },
          "uploadUrl": {
            "description": "Pre-signed S3 URL. PUT the file bytes here (single PUT, max ~5GB). Upload the file as-is: any common container is accepted (MP4, MOV, WebM, MP3, WAV, M4A, …) — the `.mp4` in the URL path is just the storage key, not a container requirement.",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "sourceId",
          "uploadUrl",
          "expiresAt"
        ],
        "type": "object"
      },
      "CreateTagRequest": {
        "additionalProperties": false,
        "description": "Request body for creating a tag",
        "properties": {
          "color": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagColor"
              }
            ],
            "description": "Hex color (default: derived deterministically from the name)"
          },
          "description": {
            "description": "Optional tag description",
            "example": "Product demo recordings",
            "maxLength": 5000,
            "type": "string"
          },
          "name": {
            "description": "Tag name",
            "example": "Demo",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "scope": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagScope"
              }
            ],
            "description": "Tag visibility (default: workspace)"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreateTagResponse": {
        "additionalProperties": false,
        "description": "The created tag",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/Tag"
          }
        },
        "required": [
          "tag"
        ],
        "type": "object"
      },
      "CreateVideoRequest": {
        "additionalProperties": false,
        "description": "Request body for creating a video, from an uploaded source or empty.",
        "properties": {
          "allowedEmbedDomains": {
            "description": "Restrict embedding to these domains only (Premium feature). Empty array allows all domains.",
            "example": [
              "example.com",
              "mysite.org"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "autoRatio": {
            "description": "The editor's Setup → Size → Auto. true sizes the canvas from the video's recording (the first clip with a screen recording, else the first clip's video or image) with the layout's padding equal on all sides, and keeps it following the recording as layouts change; when the canvas changes ratio class, layouts are remapped like a dimensions change. false pins the current size. Pass either autoRatio or dimensions, not both.",
            "example": true,
            "type": "boolean"
          },
          "captionFontFamily": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionFontFamily"
              }
            ]
          },
          "captionFontSize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionFontSize"
              }
            ]
          },
          "captionFontWeight": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionFontWeight"
              }
            ]
          },
          "captionGrouping": {
            "description": "How subtitle text is grouped: sentence chunks or one word at a time.",
            "enum": [
              "chunked",
              "singleWord"
            ],
            "type": "string"
          },
          "captionLinesPerBlock": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionLinesPerBlock"
              }
            ]
          },
          "captionPosition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionPosition"
              }
            ],
            "description": "Normalized subtitle position; null restores automatic placement. Applies if subtitles are enabled on the video.",
            "nullable": true
          },
          "captionSize": {
            "description": "Subtitle text size. Applies if subtitles are enabled on the video.",
            "enum": [
              "small",
              "medium",
              "large"
            ],
            "type": "string"
          },
          "captionStyle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionStyle"
              }
            ]
          },
          "captionsDefaultEnabled": {
            "description": "Show subtitles to viewers by default",
            "example": true,
            "type": "boolean"
          },
          "commentEmailsEnabled": {
            "description": "Send email notifications for new comments",
            "example": false,
            "type": "boolean"
          },
          "commentsEnabled": {
            "description": "Allow viewers to comment",
            "example": true,
            "type": "boolean"
          },
          "cursor": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CursorSettingsUpdate"
              }
            ]
          },
          "customThumbnailURL": {
            "description": "Custom thumbnail image URL",
            "example": "https://example.com/custom-thumbnail.jpg",
            "format": "uri",
            "type": "string"
          },
          "defaultClipTransition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "How each clip enters from the previous one. A clip can override it with its own `transition`; see `PATCH /v1/videos/{id}/clips/{clipId}`.",
            "example": "hard_cut"
          },
          "defaultPlaybackRate": {
            "description": "Default playback speed (0.5-2.0). Viewers can still adjust.",
            "example": 1,
            "maximum": 2,
            "minimum": 0.5,
            "type": "number"
          },
          "description": {
            "description": "Video description",
            "example": "Updated description for the video",
            "maxLength": 5000,
            "type": "string"
          },
          "dimensions": {
            "description": "Canvas size in pixels. Changing it also remaps every clip and section layout to a ratio-appropriate equivalent (clips using a custom layout fall back to a standard one), exactly like switching size in the editor's Setup → Size. No-op when the video already has the requested size. The editor's presets: 1920x1080 (16:9), 1920x1200 (16:10), 1440x1080 (4:3), 1080x1080 (1:1), 1080x1350 (4:5), 1080x1920 (9:16).",
            "example": {
              "height": 1920,
              "width": 1080
            },
            "properties": {
              "height": {
                "description": "Canvas height in pixels",
                "example": 1920,
                "maximum": 4096,
                "minimum": 16,
                "type": "number"
              },
              "width": {
                "description": "Canvas width in pixels",
                "example": 1080,
                "maximum": 4096,
                "minimum": 16,
                "type": "number"
              }
            },
            "required": [
              "width",
              "height"
            ],
            "type": "object"
          },
          "downloadsEnabled": {
            "description": "Allow viewers to download the video",
            "example": true,
            "type": "boolean"
          },
          "keystrokes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeystrokeSettingsUpdate"
              }
            ]
          },
          "layoutAnimationStyle": {
            "description": "How layout transitions animate, gentlest to snappiest. Changing it leaves zooms as they were: when zooms have no `zoomAnimationStyle` of their own, they keep the previous style.",
            "enum": [
              "gentlest",
              "gentle",
              "relaxed",
              "smooth",
              "moderate",
              "brisk",
              "focused",
              "snappy",
              "punchy",
              "snappiest"
            ],
            "example": "snappy",
            "type": "string"
          },
          "linkScope": {
            "description": "Access level: public (anyone with link), private (org members only), password (requires password), embedonly (only viewable when embedded)",
            "enum": [
              "public",
              "private",
              "password",
              "embedonly"
            ],
            "example": "public",
            "type": "string"
          },
          "microphoneVolume": {
            "description": "Volume of the microphone (webcam) audio across the whole video. 1 is the recorded level, 0 mutes it, 2 doubles it. Clips that set their own `microphoneVolume` keep it — change or clear those with `PATCH /v1/videos/{id}/clips/{clipId}`.",
            "example": 1.2,
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          },
          "motionBlur": {
            "description": "Blur fast zoom, pan, and cursor movement. Defaults on for new videos.",
            "example": true,
            "type": "boolean"
          },
          "motionBlurAmount": {
            "description": "Motion blur strength, the editor's Motion blur slider: 0.1 (subtle) to 2 (strong), 1 is the default. Setting it turns motion blur on, so it can't be combined with `motionBlur: false`.",
            "example": 1.3,
            "maximum": 2,
            "minimum": 0.1,
            "type": "number"
          },
          "name": {
            "description": "Video title",
            "example": "Updated Video Title",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "password": {
            "description": "Password for viewing. Required when linkScope is 'password', ignored otherwise.",
            "example": "secretpassword",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "publishDateEnabled": {
            "description": "Show publish date on video page",
            "example": true,
            "type": "boolean"
          },
          "rawDownloadsEnabled": {
            "description": "Allow viewers to download raw source files",
            "example": false,
            "type": "boolean"
          },
          "searchEngineIndexingEnabled": {
            "description": "Allow search engines to index the video page",
            "example": true,
            "type": "boolean"
          },
          "shrinkCameraDuringZooms": {
            "description": "Shrink camera bubbles while a zoom is active. Defaults on.",
            "example": true,
            "type": "boolean"
          },
          "sourceId": {
            "description": "Source ID from POST /v1/sources (kind: 'video'). Upload the video bytes to the source's uploadUrl first; the source becomes the new video's first clip. Leave it out for an empty video, as the editor's New video makes: add clips with POST /v1/videos/{id}/clips or POST /v1/motion/clips.",
            "example": "su_abc123def456",
            "minLength": 1,
            "type": "string"
          },
          "studioSound": {
            "description": "Studio Sound (AI audio enhancement) master switch. Enabling it also starts generating the enhanced audio tracks in the background; playback and exports use them once ready and fall back to the raw audio until then.",
            "example": true,
            "type": "boolean"
          },
          "studioSoundLevel": {
            "description": "Studio Sound level, as in the editor's Studio Voice panel. `low` and `high` turn Studio Sound on at that strength and regenerate the enhanced audio tracks when the level changes; `off` turns it off. Pass this or `studioSound`, or both when they agree.",
            "enum": [
              "off",
              "low",
              "high"
            ],
            "example": "low",
            "type": "string"
          },
          "subtitlesEnabled": {
            "description": "Allow viewers to enable subtitles",
            "example": true,
            "type": "boolean"
          },
          "systemAudioVolume": {
            "description": "Volume of the system/screen audio across the whole video — everything that is not microphone audio. 1 is the recorded level, 0 mutes it, 2 doubles it. Clips that set their own `systemAudioVolume` keep it — change or clear those with `PATCH /v1/videos/{id}/clips/{clipId}`.",
            "example": 0.4,
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          },
          "transcriptsEnabled": {
            "description": "Show transcript panel to viewers",
            "example": true,
            "type": "boolean"
          },
          "viewCountEnabled": {
            "description": "Show view count on video page",
            "example": true,
            "type": "boolean"
          },
          "zoomAnimationStyle": {
            "description": "How zooms ease in, out, and between each other, gentlest to snappiest. Independent of `layoutAnimationStyle`.",
            "enum": [
              "gentlest",
              "gentle",
              "relaxed",
              "smooth",
              "moderate",
              "brisk",
              "focused",
              "snappy",
              "punchy",
              "snappiest"
            ],
            "example": "brisk",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CropBox": {
        "additionalProperties": false,
        "description": "Crop insets in source pixels",
        "properties": {
          "bottom": {
            "minimum": 0,
            "type": "number"
          },
          "left": {
            "minimum": 0,
            "type": "number"
          },
          "right": {
            "minimum": 0,
            "type": "number"
          },
          "top": {
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "top",
          "right",
          "bottom",
          "left"
        ],
        "type": "object"
      },
      "CursorSettings": {
        "additionalProperties": false,
        "description": "Animated cursor settings",
        "properties": {
          "clickRipple": {
            "description": "Show a ripple on mouse clicks. Defaults off for new videos.",
            "example": false,
            "type": "boolean"
          },
          "hideWhenInactive": {
            "description": "Fade the animated cursor out while inactive and back in when activity resumes.",
            "example": false,
            "type": "boolean"
          },
          "returnToStart": {
            "description": "Move the cursor back to its opening position at the end for cleaner loops.",
            "example": false,
            "type": "boolean"
          },
          "size": {
            "description": "Animated cursor size multiplier.",
            "example": 3.05,
            "maximum": 6,
            "minimum": 0.5,
            "type": "number"
          },
          "smoothing": {
            "description": "Smooth cursor movement. Defaults off for new videos.",
            "example": false,
            "type": "boolean"
          },
          "style": {
            "$ref": "#/components/schemas/CursorStyle"
          },
          "tilt": {
            "description": "Tilt the cursor in the direction it moves. Defaults off for new videos.",
            "example": false,
            "type": "boolean"
          },
          "tiltStrength": {
            "description": "How far the cursor tilts while moving, from 0 (none) to 2 (maximum). Defaults to 0.5 for new videos. Only has an effect when tilt is true.",
            "example": 0.5,
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "style",
          "size",
          "smoothing",
          "tilt",
          "tiltStrength",
          "clickRipple",
          "hideWhenInactive",
          "returnToStart"
        ],
        "type": "object"
      },
      "CursorSettingsUpdate": {
        "additionalProperties": false,
        "description": "Animated cursor settings to update. Omitted nested fields keep their current values.",
        "properties": {
          "clickRipple": {
            "description": "Show a ripple on mouse clicks. Defaults off for new videos.",
            "example": false,
            "type": "boolean"
          },
          "hideWhenInactive": {
            "description": "Fade the animated cursor out while inactive and back in when activity resumes.",
            "example": false,
            "type": "boolean"
          },
          "returnToStart": {
            "description": "Move the cursor back to its opening position at the end for cleaner loops.",
            "example": false,
            "type": "boolean"
          },
          "size": {
            "description": "Animated cursor size multiplier.",
            "example": 3.05,
            "maximum": 6,
            "minimum": 0.5,
            "type": "number"
          },
          "smoothing": {
            "description": "Smooth cursor movement. Defaults off for new videos.",
            "example": false,
            "type": "boolean"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CursorStyle"
              }
            ]
          },
          "tilt": {
            "description": "Tilt the cursor in the direction it moves. Defaults off for new videos.",
            "example": false,
            "type": "boolean"
          },
          "tiltStrength": {
            "description": "How far the cursor tilts while moving, from 0 (none) to 2 (maximum). Defaults to 0.5 for new videos. Only has an effect when tilt is true.",
            "example": 0.5,
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          }
        },
        "type": "object"
      },
      "CursorStyle": {
        "description": "Animated cursor artwork. mac is the pre-Tahoe style; macTahoe and macGoldenGate match those macOS generations; windows and touch use platform-specific artwork.",
        "enum": [
          "mac",
          "macTahoe",
          "macGoldenGate",
          "windows",
          "touch"
        ],
        "example": "macTahoe",
        "type": "string"
      },
      "CustomLayout": {
        "additionalProperties": false,
        "description": "Explicit geometry per slot in artboard pixels (the video's `dimensions`), like a layout arranged by hand in the editor. Valid on any scene type. Read the clip's layouts first: a section that is already custom merges the fields you pass over its current geometry; any other layout needs full `subject` geometry. Custom layouts can't carry `media` and aren't accepted in batch edits.",
        "properties": {
          "kind": {
            "enum": [
              "custom"
            ],
            "type": "string"
          },
          "presentation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomLayoutSlot"
              }
            ],
            "description": "The camera on combi clips. When omitted on a clip that has a camera and no custom geometry yet, the camera is kept but hidden."
          },
          "subject": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomLayoutSlot"
              }
            ],
            "description": "The main layer: the screen recording on combi and basic-subject clips, the camera on camera-subject clips. A screen keeps its recording's aspect ratio: `dimensions` are fitted to it around the same centre."
          }
        },
        "required": [
          "kind"
        ],
        "title": "Custom",
        "type": "object"
      },
      "CustomLayoutDimensions": {
        "additionalProperties": false,
        "description": "Slot size in artboard pixels.",
        "properties": {
          "height": {
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "width": {
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "width",
          "height"
        ],
        "type": "object"
      },
      "CustomLayoutPoint": {
        "additionalProperties": false,
        "description": "Top-left corner of the slot in artboard pixels.",
        "properties": {
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "y"
        ],
        "type": "object"
      },
      "CustomLayoutSlot": {
        "additionalProperties": false,
        "description": "Geometry of one slot. `point` and `dimensions` are required unless the layout being written is already custom, in which case omitted fields keep their current values. Responses report every field.",
        "properties": {
          "corners": {
            "description": "Corner rounding of a rectangular frame. Defaults to `regular`.",
            "enum": [
              "none",
              "regular",
              "squircle"
            ],
            "type": "string"
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomLayoutDimensions"
              }
            ]
          },
          "hidden": {
            "description": "Leave the layer out of the picture. Defaults to false.",
            "type": "boolean"
          },
          "order": {
            "description": "Stacking order; the lower one draws on top: 0 is the front layer and 1 the layer behind it (use only 0 and 1). Defaults to 0 for the subject and 1 for the presentation.",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomLayoutPoint"
              }
            ]
          },
          "shape": {
            "description": "Frame the layer is drawn in: `none` (default) is the plain rectangle given by `dimensions`; `circle`, `square` and `portrait` are the camera-bubble frames; `cutout` cuts the presenter out of the camera feed; `blob` is a wobbling bubble that grows toward the presenter's hands, and `blob-outline` is the same with a white line around it.",
            "enum": [
              "none",
              "circle",
              "square",
              "portrait",
              "cutout",
              "blob",
              "blob-outline"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "Cut": {
        "description": "A range of the raw recording removed from playback. Cut definitions are the one place raw-recording coordinates appear: replacing the cut set describes the playback timeline you'd get after clearing all cuts. Cuts are always undoable — replace with `[]` to restore everything.",
        "properties": {
          "durationMs": {
            "description": "Length of the cut, in milliseconds",
            "example": 750,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "startTimeMs": {
            "description": "Start of the cut, in ms of the raw recording",
            "example": 1500,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "CutClipByTranscriptRequest": {
        "additionalProperties": false,
        "description": "Cut one or more ranges from the clip by referencing word indices in the transcript. Indices are stable across cuts (already-cut words are simply absent). The server resolves each range to exact word times and merges the resulting cuts.",
        "properties": {
          "wordRanges": {
            "description": "Word ranges to cut. Each range's start and end ms are read directly from the transcript — no padding is applied.",
            "items": {
              "$ref": "#/components/schemas/TranscriptWordRange"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "wordRanges"
        ],
        "type": "object"
      },
      "CutClipRequest": {
        "additionalProperties": false,
        "description": "Cut one or more time ranges from the clip in a single request. Provide either `cuts: [{fromMs, toMs}, ...]` (preferred) or the legacy single-range `fromMs`/`toMs` pair. Overlapping or adjacent ranges are merged into the clip's existing cuts.",
        "properties": {
          "cuts": {
            "description": "Time ranges to cut from the clip. Merged with the clip's existing cuts; overlapping or adjacent ranges are joined.",
            "items": {
              "$ref": "#/components/schemas/CutRange"
            },
            "minItems": 1,
            "type": "array"
          },
          "fromMs": {
            "description": "Single-range shortcut for `cuts: [{fromMs, toMs}]`. Use `cuts` for multiple ranges.",
            "example": 2000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "toMs": {
            "description": "Single-range shortcut for `cuts: [{fromMs, toMs}]`. Use `cuts` for multiple ranges.",
            "example": 3500,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "CutOutLayout": {
        "additionalProperties": false,
        "description": "The presenter is cut out of the footage (person matting). On combi clips they are blended over the screen recording; on camera-subject clips or basic-subject clips whose subject is an uploaded video, they cover the frame over the story background. Screen-only recordings are not supported: using cut-out on them returns 400. Use fullscreen or middle instead.",
        "properties": {
          "kind": {
            "enum": [
              "cut-out"
            ],
            "type": "string"
          },
          "position": {
            "description": "Combi clips only (required there): which side the cut-out presenter sits on in landscape. Portrait and square stories stack the two instead — `right` puts the presenter at the top, `left` at the bottom. Ignored on camera-subject clips.",
            "enum": [
              "left",
              "right"
            ],
            "type": "string"
          },
          "style": {
            "description": "Landscape combi clips only. `regular` (default) places the screen beside the presenter; `perspective` fills most of the canvas with the screen, angled away toward the presenter, who stands in front in the bottom corner on `position`'s side.",
            "enum": [
              "regular",
              "perspective"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "title": "Cut Out",
        "type": "object"
      },
      "CutOutput": {
        "additionalProperties": false,
        "description": "A range of the raw recording removed from playback. Cut definitions are the one place raw-recording coordinates appear: replacing the cut set describes the playback timeline you'd get after clearing all cuts. Cuts are always undoable — replace with `[]` to restore everything.",
        "properties": {
          "durationMs": {
            "description": "Length of the cut, in milliseconds",
            "example": 750,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "startTimeMs": {
            "description": "Start of the cut, in ms of the raw recording",
            "example": 1500,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "CutRange": {
        "description": "A single time range to cut from the clip, in ms on the clip's playback timeline (what you currently see and hear — the same timeline as the transcript and detected silences). All ranges in one request are resolved against the playback timeline as it is when the request starts.",
        "properties": {
          "fromMs": {
            "description": "Start of the range to cut, in ms on the clip's playback timeline.",
            "example": 2000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "toMs": {
            "description": "End of the range to cut, in ms on the clip's playback timeline. Clamped to the clip's playable duration.",
            "example": 3500,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "fromMs",
          "toMs"
        ],
        "type": "object"
      },
      "DeleteEndpointResponse": {
        "additionalProperties": false,
        "description": "Response when a webhook endpoint is deleted",
        "properties": {
          "id": {
            "description": "ID of the deleted endpoint",
            "example": "ep_abc123def456",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "DuplicateClipRequest": {
        "additionalProperties": false,
        "description": "Request body for duplicating a clip",
        "properties": {
          "name": {
            "description": "Name for the duplicated clip (defaults to the source clip name)",
            "example": "Intro (copy)",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "order": {
            "description": "Position to insert the new clip (defaults to right after the source)",
            "example": 1,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "DuplicateMotionDocumentRequest": {
        "description": "Copy a document under the same owner. The copy is independent: later edits to either do not reach the other.",
        "properties": {
          "commands": {
            "description": "Edits to run on the copy, as `POST /v1/motion/documents/{id}/commands` takes them, e.g. `setTitle` to give the same title card another heading.",
            "items": {
              "$ref": "#/components/schemas/MotionEdit"
            },
            "maxItems": 256,
            "minItems": 1,
            "type": "array"
          },
          "name": {
            "description": "The copy's name.",
            "example": "Topic title: Pricing",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "DuplicateMotionDocumentResponse": {
        "additionalProperties": false,
        "description": "The copy and, with commands, the batch's result",
        "properties": {
          "applied": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MotionApplyResult"
              }
            ],
            "description": "With `commands`: the batch's result on the copy."
          },
          "document": {
            "$ref": "#/components/schemas/MotionDocument"
          }
        },
        "required": [
          "document"
        ],
        "type": "object"
      },
      "DuplicateVideoRequest": {
        "additionalProperties": false,
        "description": "Request body for duplicating a video",
        "properties": {
          "name": {
            "description": "Name for the duplicated video. Defaults to original name with ' (Copy)' suffix.",
            "example": "My Video (Copy)",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "trim": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TrimRequest"
              }
            ],
            "description": "Optional trim parameters. Specify startTime+endTime for time range trim (duration must be at least 1 second), or chapterIndex to extract a specific chapter."
          }
        },
        "type": "object"
      },
      "EndpointSecretResponse": {
        "additionalProperties": false,
        "description": "The webhook signing secret",
        "properties": {
          "key": {
            "description": "The signing secret for verifying webhook payloads",
            "example": "whsec_xyz789...",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "type": "object"
      },
      "ErrorResponse": {
        "additionalProperties": false,
        "description": "Standard error response format",
        "properties": {
          "docsUrl": {
            "description": "Link to Tella API documentation",
            "example": "https://docs.tella.com/",
            "format": "uri",
            "type": "string"
          },
          "error": {
            "description": "Machine-readable error code",
            "enum": [
              "bad_request",
              "unauthorized",
              "forbidden",
              "not_found",
              "rate_limited",
              "server_error",
              "conflict",
              "edit_conflict",
              "not_implemented",
              "unavailable"
            ],
            "example": "not_found",
            "type": "string"
          },
          "message": {
            "description": "Human-readable error message",
            "example": "Resource not found",
            "type": "string"
          }
        },
        "required": [
          "error",
          "message",
          "docsUrl"
        ],
        "type": "object"
      },
      "ExportStatus": {
        "additionalProperties": false,
        "description": "Status of a video export job",
        "properties": {
          "downloadUrl": {
            "description": "Download URL when export is completed, null otherwise",
            "example": "https://cdn.tella.tv/exports/vid_abc123/video.mp4",
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "exportId": {
            "description": "Unique identifier for the export job",
            "example": "Export-Story-vid_abc123def456/2026-01-15T10:00:00Z/Story/1920x1080/30FPS",
            "type": "string"
          },
          "progress": {
            "description": "Export progress percentage (0-100), null if not started",
            "example": 100,
            "maximum": 100,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "status": {
            "description": "Current export status",
            "enum": [
              "queued",
              "running",
              "completed",
              "failed"
            ],
            "example": "completed",
            "type": "string"
          },
          "updatedAt": {
            "description": "ISO 8601 datetime of last status update",
            "example": "2024-01-15T15:00:00.000Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "exportId",
          "status",
          "progress",
          "downloadUrl",
          "updatedAt"
        ],
        "type": "object"
      },
      "ExportVideoRequest": {
        "additionalProperties": false,
        "description": "Request body for exporting a video",
        "properties": {
          "fps": {
            "description": "Frames per second. 60 FPS requires the video creator's Premium plan (including Enterprise Premium), or Pro (including Enterprise) for videos up to 5 minutes after cuts. Not available during a free trial.",
            "enum": [
              "30",
              "60"
            ],
            "example": "30",
            "type": "string"
          },
          "granularity": {
            "description": "Export granularity: video (full video), clips (one composed file per clip), tracks (camera and screen files per clip with timeline cuts applied), raw (original recordings without cuts)",
            "enum": [
              "video",
              "clips",
              "tracks",
              "raw"
            ],
            "example": "video",
            "type": "string"
          },
          "resolution": {
            "description": "Export resolution. Default is 1080p. 4K requires the video creator's paid plan and is not available during a free trial.",
            "enum": [
              "1080p",
              "4k"
            ],
            "example": "1080p",
            "type": "string"
          },
          "speed": {
            "description": "Playback speed multiplier",
            "enum": [
              "1",
              "2",
              "0.5",
              "0.75",
              "1.25",
              "1.5",
              "1.75"
            ],
            "example": "1",
            "type": "string"
          },
          "subtitles": {
            "description": "Burn subtitles into the video",
            "example": false,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ExportVideoResponse": {
        "additionalProperties": false,
        "description": "Response containing export status",
        "properties": {
          "export": {
            "$ref": "#/components/schemas/ExportStatus"
          }
        },
        "required": [
          "export"
        ],
        "type": "object"
      },
      "FullscreenLayout": {
        "additionalProperties": false,
        "description": "Single-layer fullscreen. Takes an optional `style` (regular/stretch); basic-subject clips also take an optional `screenFit`.",
        "properties": {
          "kind": {
            "enum": [
              "fullscreen"
            ],
            "type": "string"
          },
          "screenFit": {
            "description": "Only honoured for basic-subject clips (Tella renders the screen fullscreen). Defaults to cover.",
            "enum": [
              "cover",
              "letterbox"
            ],
            "type": "string"
          },
          "style": {
            "description": "`regular` (default) is plain fullscreen; `stretch` punches in to 1.15x. On basic-subject clips `stretch` needs uploaded footage (not a screen recording).",
            "enum": [
              "regular",
              "stretch"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "title": "Fullscreen",
        "type": "object"
      },
      "GenerateAutoZoomsRequest": {
        "additionalProperties": false,
        "description": "Automatically generate tracking zooms from the mouse clicks in the clip's screen recording — the API twin of the editor's \"Generate zooms\". Warning: by default this replaces the clip's existing tracking zooms (see `replaceExisting`).",
        "properties": {
          "intensity": {
            "description": "The editor's zoom preset: `subtle` (1.5x, gentle), `moderate` (default, 2x), `focused` (2x, settles fast) or `intense` (2.5x, snappy). It also sets the clip's zoom animation style. `slow`, `medium` and `fast` mean subtle, moderate and intense.",
            "enum": [
              "subtle",
              "moderate",
              "focused",
              "intense",
              "slow",
              "medium",
              "fast"
            ],
            "example": "moderate",
            "type": "string"
          },
          "replaceExisting": {
            "description": "Defaults to true: the clip's existing tracking zooms are REMOVED before the generated ones are added, so repeated calls regenerate instead of stacking. Pass false to keep existing tracking zooms. Manual zooms are never touched.",
            "example": true,
            "type": "boolean"
          },
          "scale": {
            "description": "Override the magnification factor (1 = no zoom, 3.5 = max). Defaults to the preset's scale (1.5 for subtle, 2 for moderate and focused, 2.5 for intense).",
            "example": 1.5,
            "maximum": 3.5,
            "minimum": 1,
            "type": "number"
          }
        },
        "type": "object"
      },
      "GenerateAutoZoomsResponse": {
        "additionalProperties": false,
        "description": "Zooms generated from the clip's mouse activity",
        "properties": {
          "zooms": {
            "description": "The generated tracking zooms, in ms on the clip's playback timeline (cuts applied). Empty when the screen recording has no usable mouse clicks.",
            "items": {
              "$ref": "#/components/schemas/ClipZoom"
            },
            "type": "array"
          }
        },
        "required": [
          "zooms"
        ],
        "type": "object"
      },
      "Generation": {
        "additionalProperties": false,
        "description": "An AI media generation and, once finished, its library item",
        "properties": {
          "error": {
            "description": "A sanitized, human-readable reason when `status` is `failed`. It may identify a content-safety rejection or timeout, or report a generic failure. Do not parse this text for machine handling.",
            "type": "string"
          },
          "id": {
            "description": "Generation ID. It is also the ID of the private library item the result is saved as, so it can be passed to `GET /v1/library/generations/{id}` to poll and shows up in `GET /v1/library?scope=private` once finished.",
            "example": "mi_abc123def456",
            "type": "string"
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LibraryItem"
              }
            ],
            "description": "The finished library item, present once `status` is `completed`. Pass its `sourceId` anywhere a source is accepted — overlays, layout media, sound effects."
          },
          "prompt": {
            "description": "The prompt the media is being generated from",
            "example": "A watercolor illustration of a lighthouse at dawn",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/GenerationStatus"
          },
          "type": {
            "$ref": "#/components/schemas/GenerationType"
          }
        },
        "required": [
          "id",
          "type",
          "status",
          "prompt"
        ],
        "type": "object"
      },
      "GenerationStatus": {
        "description": "`pending` and `running` mean the generator is still working — poll again in a few seconds. `completed` means `item` is ready to place. `failed` is final; start a new generation.",
        "enum": [
          "pending",
          "running",
          "completed",
          "failed"
        ],
        "example": "completed",
        "type": "string"
      },
      "GenerationType": {
        "description": "The kind of media to generate",
        "enum": [
          "image",
          "video",
          "sound-effect"
        ],
        "example": "image",
        "type": "string"
      },
      "GetAccountResponse": {
        "additionalProperties": false,
        "description": "The signed-in user, their workspace, its plan and credits",
        "properties": {
          "billingURL": {
            "description": "The workspace's billing page",
            "example": "https://www.tella.tv/settings/billing",
            "type": "string"
          },
          "credits": {
            "$ref": "#/components/schemas/AccountCredits"
          },
          "plan": {
            "$ref": "#/components/schemas/AccountPlan"
          },
          "user": {
            "additionalProperties": false,
            "properties": {
              "email": {
                "type": "string"
              },
              "id": {
                "example": "u_abc123",
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "email"
            ],
            "type": "object"
          },
          "workspace": {
            "additionalProperties": false,
            "properties": {
              "id": {
                "example": "o_abc123",
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "role": {
                "description": "Your role in the workspace",
                "enum": [
                  "owner",
                  "member",
                  "viewer"
                ],
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ],
            "type": "object"
          }
        },
        "required": [
          "user",
          "workspace",
          "plan",
          "billingURL"
        ],
        "type": "object"
      },
      "GetClipResponse": {
        "additionalProperties": false,
        "description": "Response shape for a single clip",
        "properties": {
          "clip": {
            "$ref": "#/components/schemas/Clip"
          }
        },
        "required": [
          "clip"
        ],
        "type": "object"
      },
      "GetExportResponse": {
        "additionalProperties": false,
        "description": "Current status of a video export",
        "properties": {
          "export": {
            "$ref": "#/components/schemas/ExportStatus"
          }
        },
        "required": [
          "export"
        ],
        "type": "object"
      },
      "GetGenerationResponse": {
        "additionalProperties": false,
        "description": "The generation's current status",
        "properties": {
          "generation": {
            "$ref": "#/components/schemas/Generation"
          }
        },
        "required": [
          "generation"
        ],
        "type": "object"
      },
      "GetSourceResponse": {
        "additionalProperties": false,
        "description": "A source's processing status",
        "properties": {
          "id": {
            "description": "Source ID",
            "example": "su_abc",
            "type": "string"
          },
          "status": {
            "description": "`pending`: the upload hasn't finished yet. Video and audio start converting as soon as it does, and images are prepared for rendering within a few seconds; LUTs and fonts are ready right away. `processing`: still uploading or converting; frames and previews of videos using it answer not-ready until it is `ready`, so poll this every few seconds. `ready`: usable everywhere. `failed`: conversion failed or the recording was cancelled; upload the file again as a new source.",
            "enum": [
              "pending",
              "processing",
              "ready",
              "failed"
            ],
            "example": "processing",
            "type": "string"
          }
        },
        "required": [
          "id",
          "status"
        ],
        "type": "object"
      },
      "GetTimelineResponse": {
        "additionalProperties": false,
        "description": "A compact video timeline with optional video-level and clip-level details",
        "properties": {
          "clips": {
            "description": "Complete clip outline in playback order",
            "items": {
              "$ref": "#/components/schemas/TimelineClip"
            },
            "type": "array"
          },
          "details": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimelineDetails"
              }
            ],
            "description": "Present only when at least one detail category is requested"
          },
          "included": {
            "description": "Detail categories included in this response",
            "items": {
              "enum": [
                "settings",
                "chapters",
                "backgroundMusic",
                "clipSettings",
                "cuts",
                "layouts",
                "zooms",
                "blurs",
                "highlights",
                "overlays",
                "textOverlays",
                "soundEffects",
                "transcript",
                "words"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "video": {
            "$ref": "#/components/schemas/TimelineVideo"
          }
        },
        "required": [
          "video",
          "clips",
          "included"
        ],
        "type": "object"
      },
      "HighlightCaptionStyle": {
        "additionalProperties": false,
        "properties": {
          "backgroundColor": {
            "description": "Caption background color in #RRGGBB or #RRGGBBAA form. Its alpha channel is rendered exactly; #RRGGBB is fully opaque. Responses use uppercase #RRGGBBAA and report the effective rendered color.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "backgroundEnabled": {
            "type": "boolean"
          },
          "backgroundPadding": {
            "description": "Extra room around the caption text inside its background, as a fraction of the font size added on every side. Defaults to 0, the style's standard padding. No effect while backgroundEnabled is false.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "highlightColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "highlightMode": {
            "description": "How the spoken word is emphasized. Defaults to background.",
            "enum": [
              "text",
              "background",
              "fadeRest"
            ],
            "type": "string"
          },
          "name": {
            "enum": [
              "highlight"
            ],
            "type": "string"
          },
          "outlineColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "outlineEnabled": {
            "type": "boolean"
          },
          "primaryTextColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "secondaryTextColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "shadowColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "shadowEnabled": {
            "type": "boolean"
          },
          "textCase": {
            "description": "Letter case applied to every caption word. Defaults to original.",
            "enum": [
              "original",
              "uppercase",
              "lowercase"
            ],
            "type": "string"
          },
          "wordLevelHighlights": {
            "description": "Highlight each word as it is spoken. Defaults to true.",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "primaryTextColor",
          "secondaryTextColor",
          "highlightColor"
        ],
        "title": "Highlight",
        "type": "object"
      },
      "Import": {
        "additionalProperties": false,
        "properties": {
          "error": {
            "description": "Why the import failed, set when `status` is `failed`",
            "type": "string"
          },
          "id": {
            "description": "The library item the import is saved as; poll with it",
            "example": "mi_abc123def456",
            "type": "string"
          },
          "item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LibraryItem"
              }
            ],
            "description": "The finished library item, set when `status` is `completed`: an `image` for a still, a `video` for a scrolling page or video link. Place `item.sourceId` with overlays or layout media."
          },
          "status": {
            "description": "Page and post captures are `completed` at once; video links are `running` until downloaded",
            "enum": [
              "running",
              "completed",
              "failed"
            ],
            "type": "string"
          }
        },
        "required": [
          "id",
          "status"
        ],
        "type": "object"
      },
      "ImportResponse": {
        "additionalProperties": false,
        "properties": {
          "import": {
            "$ref": "#/components/schemas/Import"
          }
        },
        "required": [
          "import"
        ],
        "type": "object"
      },
      "KeystrokeSettings": {
        "additionalProperties": false,
        "description": "The keystroke HUD: the keys pressed during Mac app screen recordings and Auto Capture takes, drawn over the video as they were typed.",
        "properties": {
          "alignment": {
            "description": "Which horizontal edge of the HUD sits on position.x.",
            "enum": [
              "left",
              "center",
              "right"
            ],
            "example": "center",
            "type": "string"
          },
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimation"
              }
            ],
            "description": "How each chord enters and leaves. The text sides are always null."
          },
          "colors": {
            "additionalProperties": false,
            "description": "Colors in #RRGGBB or #RRGGBBAA form.",
            "properties": {
              "background": {
                "description": "The container behind the keys.",
                "example": "#FFFFFF",
                "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
                "type": "string"
              },
              "keyBackground": {
                "description": "Each key's cap (or the pill).",
                "example": "#FFFFFF",
                "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
                "type": "string"
              },
              "keyText": {
                "description": "The key labels.",
                "example": "#FFFFFF",
                "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
                "type": "string"
              }
            },
            "required": [
              "background",
              "keyBackground",
              "keyText"
            ],
            "type": "object"
          },
          "displayDurationMs": {
            "description": "How long a chord lingers after its key is released, in milliseconds.",
            "example": 1000,
            "maximum": 10000,
            "minimum": 300,
            "type": "integer"
          },
          "enabled": {
            "description": "Show the HUD.",
            "example": true,
            "type": "boolean"
          },
          "filter": {
            "description": "`shortcuts` shows only chords with a modifier, such as ⌘C or ⇧Tab, and hides typing, capitals and shifted symbols included; `all` also shows plain typing, including any text typed while recording.",
            "enum": [
              "shortcuts",
              "all"
            ],
            "example": "shortcuts",
            "type": "string"
          },
          "labels": {
            "description": "The keyboard the keys are labelled for. Absent, each recording's own keyboard: ⌘ for the Mac app, Ctrl for Auto Capture takes.",
            "enum": [
              "mac",
              "windows"
            ],
            "type": "string"
          },
          "position": {
            "additionalProperties": false,
            "description": "Anchor of the HUD as a fraction of the frame. `alignment` says which horizontal edge of the HUD sits on x.",
            "properties": {
              "x": {
                "description": "0 is the left edge.",
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              },
              "y": {
                "description": "0 is the top edge.",
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ],
            "type": "object"
          },
          "size": {
            "description": "Size multiplier from 0.5 to 4 (1 is a 44 px cap on a 1080p frame).",
            "example": 1,
            "maximum": 4,
            "minimum": 0.5,
            "type": "number"
          },
          "style": {
            "description": "`keycap` draws one rounded cap per key in a container; `pill` draws the chord as text in one box.",
            "enum": [
              "keycap",
              "pill"
            ],
            "example": "keycap",
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "filter",
          "style",
          "size",
          "displayDurationMs",
          "animation",
          "colors",
          "position",
          "alignment"
        ],
        "type": "object"
      },
      "KeystrokeSettingsUpdate": {
        "additionalProperties": false,
        "description": "Keystroke HUD settings to update. Omitted fields keep their current values; `enabled: true` turns it on with the defaults. Only recordings made with the Tella Mac app and Auto Capture takes carry keyboard data.",
        "properties": {
          "alignment": {
            "description": "Which horizontal edge of the HUD sits on position.x.",
            "enum": [
              "left",
              "center",
              "right"
            ],
            "example": "center",
            "type": "string"
          },
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ],
            "description": "How each chord enters and leaves, with the same sides as an overlay's `animation` (no text sides). Defaults to a 150 ms fade in and a 200 ms fade out."
          },
          "colors": {
            "additionalProperties": false,
            "properties": {
              "background": {
                "description": "The container behind the keys.",
                "example": "#FFFFFF",
                "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
                "type": "string"
              },
              "keyBackground": {
                "description": "Each key's cap (or the pill).",
                "example": "#FFFFFF",
                "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
                "type": "string"
              },
              "keyText": {
                "description": "The key labels.",
                "example": "#FFFFFF",
                "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
                "type": "string"
              }
            },
            "type": "object"
          },
          "displayDurationMs": {
            "description": "How long a chord lingers after its key is released, in milliseconds.",
            "example": 1000,
            "maximum": 10000,
            "minimum": 300,
            "type": "integer"
          },
          "enabled": {
            "description": "Show the HUD.",
            "example": true,
            "type": "boolean"
          },
          "filter": {
            "description": "`shortcuts` shows only chords with a modifier, such as ⌘C or ⇧Tab, and hides typing, capitals and shifted symbols included; `all` also shows plain typing, including any text typed while recording.",
            "enum": [
              "shortcuts",
              "all"
            ],
            "example": "shortcuts",
            "type": "string"
          },
          "labels": {
            "description": "The keyboard the keys are labelled for. Absent, each recording's own keyboard: ⌘ for the Mac app, Ctrl for Auto Capture takes.",
            "enum": [
              "mac",
              "windows"
            ],
            "type": "string"
          },
          "position": {
            "additionalProperties": false,
            "properties": {
              "x": {
                "description": "0 is the left edge.",
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              },
              "y": {
                "description": "0 is the top edge.",
                "maximum": 1,
                "minimum": 0,
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ],
            "type": "object"
          },
          "size": {
            "description": "Size multiplier from 0.5 to 4 (1 is a 44 px cap on a 1080p frame).",
            "example": 1,
            "maximum": 4,
            "minimum": 0.5,
            "type": "number"
          },
          "style": {
            "description": "`keycap` draws one rounded cap per key in a container; `pill` draws the chord as text in one box.",
            "enum": [
              "keycap",
              "pill"
            ],
            "example": "keycap",
            "type": "string"
          }
        },
        "type": "object"
      },
      "LayoutSceneType": {
        "description": "How a clip composes its layers, which determines the set of layouts it accepts: `basicSubject` (screen-only), `cameraSubject` (camera-only), or `combi` (camera + presentation).",
        "enum": [
          "basicSubject",
          "cameraSubject",
          "combi"
        ],
        "example": "combi",
        "type": "string"
      },
      "LayoutTransitionStyle": {
        "description": "How the editor transitions into this layout from the previous one. `spring` is the default smooth motion; `hardCut` is an instant cut.",
        "enum": [
          "spring",
          "hardCut"
        ],
        "title": "LayoutTransitionStyle",
        "type": "string"
      },
      "LibraryItem": {
        "additionalProperties": false,
        "description": "A placeable piece of media — either saved to a workspace's library, or an entry in Tella's curated catalog",
        "properties": {
          "category": {
            "description": "Catalog grouping, for `default` items only — the same grouping the editor's sound effects and background music panels show",
            "example": "Everyday",
            "type": "string"
          },
          "createdAt": {
            "description": "ISO-8601 creation timestamp. Absent for `default` catalog items, which are served from Tella's catalog rather than stored as rows.",
            "type": "string"
          },
          "dimensions": {
            "additionalProperties": false,
            "description": "Pixel dimensions, for visual media",
            "properties": {
              "height": {
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              "width": {
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              }
            },
            "required": [
              "width",
              "height"
            ],
            "type": "object"
          },
          "durationMs": {
            "description": "Duration in milliseconds, for time-based media",
            "example": 4200,
            "type": "number"
          },
          "id": {
            "description": "Unique library item identifier",
            "example": "media_abc123def456",
            "type": "string"
          },
          "link": {
            "description": "For `pinterest`, `arena` and `mymind` items: the page the pin or save links to. For `vintage` items: the film's archive page",
            "type": "string"
          },
          "name": {
            "description": "Display name shown in the library",
            "example": "Intro camera take",
            "type": "string"
          },
          "presetId": {
            "description": "Preset ID, for `default` catalog items only. A preset has no source, so pass this instead of `sourceId`: a `sound-effect` preset goes to `POST /v1/videos/{id}/clips/{clipId}/sound-effects` (placing it copies the effect into a source owned by your workspace), a `music` preset to `PUT /v1/videos/{id}/background-music`.",
            "example": "cha-ching",
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/LibraryItemScope"
          },
          "sourceId": {
            "description": "Source ID. Pass it anywhere a `sourceId` is accepted — clips, layouts, overlays, sound effects. Present for every item added through this API, including images. Absent for items added in the editor, which have no source, for music, LUT and font items, and for `default` catalog items, which use `presetId` instead.",
            "example": "su_abc123def456",
            "type": "string"
          },
          "summary": {
            "description": "For `mymind` items: mymind's AI summary of the save",
            "type": "string"
          },
          "tags": {
            "description": "For `mymind` items: the save's tags",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": {
            "$ref": "#/components/schemas/LibraryItemType"
          },
          "updatedAt": {
            "description": "ISO-8601 update timestamp. Absent for `default` catalog items.",
            "type": "string"
          },
          "url": {
            "description": "Hosted media URL, for `image`, `screenshot`, `music`, `lut` and `font` items, for `vintage` shots (a preview of the shot), and for `default` catalog items, where it is a publicly fetchable preview of the audio (for `music` presets it is also the track the video will play). API-created images expose this alongside `sourceId`; use `sourceId` to place the image on a clip, since overlays and layout media do not accept URLs. Editor-created `screenshot` items have a URL but no sourceId; use POST /v1/library/screenshots to capture a new placeable image or video.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "scope"
        ],
        "type": "object"
      },
      "LibraryItemScope": {
        "description": "Where the item lives: a library scope, `video` for an image brought into one video's library, `pinterest`, `arena` or `mymind` for an image still in the connected service, or `vintage` for a shot in Tella's vintage film catalog",
        "enum": [
          "private",
          "workspace",
          "default",
          "video",
          "pinterest",
          "arena",
          "mymind",
          "vintage"
        ],
        "example": "private",
        "type": "string"
      },
      "LibraryItemType": {
        "description": "The kind of media the item holds",
        "enum": [
          "image",
          "video",
          "sound-effect",
          "music",
          "lut",
          "screenshot",
          "font"
        ],
        "example": "video",
        "type": "string"
      },
      "LibraryReadScope": {
        "description": "Which set of media to read: `private` (only visible to their creator), `workspace` (shared with everyone in the workspace), `default` (Tella's curated sound effect and background music catalogs, which hold no other media type), `pinterest`, `arena` or `mymind` (the images you saved in that service, once you connect it under Settings → Connections), or `vintage` (Tella's catalog of public-domain vintage film shots). Bring a `pinterest`, `arena`, `mymind` or `vintage` item in with `POST /v1/library` and `from`.",
        "enum": [
          "private",
          "workspace",
          "default",
          "pinterest",
          "arena",
          "mymind",
          "vintage"
        ],
        "example": "private",
        "type": "string"
      },
      "LibraryScope": {
        "description": "Which library the item belongs to: `workspace` items are shared with everyone in the workspace, `private` items are only visible to their creator",
        "enum": [
          "private",
          "workspace"
        ],
        "example": "private",
        "type": "string"
      },
      "ListAgentChatsResponse": {
        "additionalProperties": false,
        "description": "The video's agent chats, most recently active first",
        "properties": {
          "chats": {
            "items": {
              "$ref": "#/components/schemas/AgentChat"
            },
            "type": "array"
          }
        },
        "required": [
          "chats"
        ],
        "type": "object"
      },
      "ListBackgroundsResponse": {
        "additionalProperties": false,
        "description": "Background categories visible to the authenticated user",
        "properties": {
          "categories": {
            "items": {
              "$ref": "#/components/schemas/BackgroundCategory"
            },
            "type": "array"
          }
        },
        "required": [
          "categories"
        ],
        "type": "object"
      },
      "ListClipCameraFacesResponse": {
        "additionalProperties": false,
        "description": "Faces from the clip's camera recording, placed on the video canvas. Moments when the layout hides the camera are left out. Empty when the clip has no camera or its recording has no detections yet (processing still running, or recorded before face detection)",
        "properties": {
          "samples": {
            "items": {
              "$ref": "#/components/schemas/ClipCameraFaceSample"
            },
            "type": "array"
          }
        },
        "required": [
          "samples"
        ],
        "type": "object"
      },
      "ListClipKeyEventsResponse": {
        "additionalProperties": false,
        "description": "Key presses from the clip's screen recording. Empty when the recording has no keyboard data (only the Mac app records it).",
        "properties": {
          "events": {
            "items": {
              "$ref": "#/components/schemas/ClipKeyEvent"
            },
            "type": "array"
          }
        },
        "required": [
          "events"
        ],
        "type": "object"
      },
      "ListClipLayoutsResponse": {
        "additionalProperties": false,
        "description": "Layouts on a clip",
        "properties": {
          "layouts": {
            "items": {
              "$ref": "#/components/schemas/ClipLayout"
            },
            "type": "array"
          }
        },
        "required": [
          "layouts"
        ],
        "type": "object"
      },
      "ListClipMasksResponse": {
        "additionalProperties": false,
        "description": "Masks on a clip",
        "properties": {
          "masks": {
            "items": {
              "$ref": "#/components/schemas/ClipMask"
            },
            "type": "array"
          }
        },
        "required": [
          "masks"
        ],
        "type": "object"
      },
      "ListClipMouseEventsResponse": {
        "additionalProperties": false,
        "description": "Mouse events from the clip's screen recording. Empty when the recording has no mouse data (camera-only clips, uploads, older recorder versions).",
        "properties": {
          "events": {
            "items": {
              "$ref": "#/components/schemas/ClipMouseEvent"
            },
            "type": "array"
          }
        },
        "required": [
          "events"
        ],
        "type": "object"
      },
      "ListClipOverlaysResponse": {
        "additionalProperties": false,
        "description": "Overlays on a clip",
        "properties": {
          "overlays": {
            "items": {
              "$ref": "#/components/schemas/ClipOverlay"
            },
            "type": "array"
          }
        },
        "required": [
          "overlays"
        ],
        "type": "object"
      },
      "ListClipShapeOverlaysResponse": {
        "additionalProperties": false,
        "description": "Shape overlays on a clip",
        "properties": {
          "shapeOverlays": {
            "items": {
              "$ref": "#/components/schemas/ClipShapeOverlay"
            },
            "type": "array"
          }
        },
        "required": [
          "shapeOverlays"
        ],
        "type": "object"
      },
      "ListClipSilencesResponse": {
        "additionalProperties": false,
        "description": "Silent ranges in a clip",
        "properties": {
          "silences": {
            "items": {
              "$ref": "#/components/schemas/SilenceRange"
            },
            "type": "array"
          }
        },
        "required": [
          "silences"
        ],
        "type": "object"
      },
      "ListClipSoundEffectsResponse": {
        "additionalProperties": false,
        "description": "Sound effects on a clip",
        "properties": {
          "soundEffects": {
            "items": {
              "$ref": "#/components/schemas/ClipSoundEffect"
            },
            "type": "array"
          }
        },
        "required": [
          "soundEffects"
        ],
        "type": "object"
      },
      "ListClipSourcesResponse": {
        "additionalProperties": false,
        "description": "Sources of a clip",
        "properties": {
          "sources": {
            "items": {
              "$ref": "#/components/schemas/ClipSource"
            },
            "type": "array"
          }
        },
        "required": [
          "sources"
        ],
        "type": "object"
      },
      "ListClipTextOverlaysResponse": {
        "additionalProperties": false,
        "description": "Text overlays on a clip",
        "properties": {
          "textOverlays": {
            "items": {
              "$ref": "#/components/schemas/ClipTextOverlay"
            },
            "type": "array"
          }
        },
        "required": [
          "textOverlays"
        ],
        "type": "object"
      },
      "ListClipZoomsResponse": {
        "additionalProperties": false,
        "description": "Zooms on a clip",
        "properties": {
          "zooms": {
            "items": {
              "$ref": "#/components/schemas/ClipZoom"
            },
            "type": "array"
          }
        },
        "required": [
          "zooms"
        ],
        "type": "object"
      },
      "ListClipsResponse": {
        "additionalProperties": false,
        "description": "Response shape for listing clips of a video",
        "properties": {
          "clips": {
            "description": "Clips in the video, ordered by `order`",
            "items": {
              "$ref": "#/components/schemas/Clip"
            },
            "type": "array"
          }
        },
        "required": [
          "clips"
        ],
        "type": "object"
      },
      "ListExportsResponse": {
        "additionalProperties": false,
        "description": "All exports for a video",
        "properties": {
          "exports": {
            "items": {
              "$ref": "#/components/schemas/ExportStatus"
            },
            "type": "array"
          }
        },
        "required": [
          "exports"
        ],
        "type": "object"
      },
      "ListLibraryResponse": {
        "additionalProperties": false,
        "description": "A page of library items",
        "properties": {
          "cursor": {
            "description": "Cursor for the next page. Absent when there are no more items.",
            "type": "string"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/LibraryItem"
            },
            "type": "array"
          }
        },
        "required": [
          "items"
        ],
        "type": "object"
      },
      "ListMessagesResponse": {
        "additionalProperties": false,
        "description": "Response containing a list of webhook messages",
        "properties": {
          "messages": {
            "description": "Array of webhook messages",
            "items": {
              "$ref": "#/components/schemas/WebhookMessage"
            },
            "type": "array"
          }
        },
        "required": [
          "messages"
        ],
        "type": "object"
      },
      "ListMotionDocumentsResponse": {
        "additionalProperties": false,
        "description": "Tella Motion documents you can edit, newest first: the video's (its Tella Motion clips' and the documents its overlays and b-roll play), or without a video, yours that no video plays yet.",
        "properties": {
          "documents": {
            "items": {
              "$ref": "#/components/schemas/MotionDocument"
            },
            "type": "array"
          }
        },
        "required": [
          "documents"
        ],
        "type": "object"
      },
      "ListPlaylistGroupsResponse": {
        "additionalProperties": false,
        "description": "List of playlist groups",
        "properties": {
          "groups": {
            "description": "Playlist groups in sidebar order",
            "items": {
              "$ref": "#/components/schemas/PlaylistGroup"
            },
            "type": "array"
          }
        },
        "required": [
          "groups"
        ],
        "type": "object"
      },
      "ListPublicationsResponse": {
        "additionalProperties": false,
        "properties": {
          "publications": {
            "description": "The latest publish to each destination and account",
            "items": {
              "$ref": "#/components/schemas/Publication"
            },
            "type": "array"
          }
        },
        "required": [
          "publications"
        ],
        "type": "object"
      },
      "ListSocialAccountsResponse": {
        "additionalProperties": false,
        "properties": {
          "accounts": {
            "description": "Oldest first per platform",
            "items": {
              "$ref": "#/components/schemas/SocialAccount"
            },
            "type": "array"
          }
        },
        "required": [
          "accounts"
        ],
        "type": "object"
      },
      "ListTagsResponse": {
        "additionalProperties": false,
        "description": "List of tags visible to the authenticated user",
        "properties": {
          "tags": {
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "type": "array"
          }
        },
        "required": [
          "tags"
        ],
        "type": "object"
      },
      "ListVideoTagsResponse": {
        "additionalProperties": false,
        "description": "Tags on a video that are visible to the authenticated user",
        "properties": {
          "tags": {
            "items": {
              "$ref": "#/components/schemas/Tag"
            },
            "type": "array"
          }
        },
        "required": [
          "tags"
        ],
        "type": "object"
      },
      "ListWebhookEndpointsResponse": {
        "additionalProperties": false,
        "description": "A page of webhook subscription endpoints",
        "properties": {
          "endpoints": {
            "items": {
              "$ref": "#/components/schemas/WebhookEndpoint"
            },
            "type": "array"
          },
          "nextCursor": {
            "description": "Cursor for the next page, or null on the final page",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "endpoints",
          "nextCursor"
        ],
        "type": "object"
      },
      "LivePreviewLink": {
        "additionalProperties": false,
        "properties": {
          "expiresAt": {
            "description": "ISO 8601 time the link stops working",
            "type": "string"
          },
          "url": {
            "description": "The video's live preview. It plays without signing in until expiresAt, so share it only with the user.",
            "type": "string"
          }
        },
        "required": [
          "url",
          "expiresAt"
        ],
        "type": "object"
      },
      "MaskDimensions": {
        "description": "Size of the masked rectangle (percentages)",
        "properties": {
          "heightPct": {
            "example": 50,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "widthPct": {
            "example": 50,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "widthPct",
          "heightPct"
        ],
        "type": "object"
      },
      "MaskDimensionsOutput": {
        "additionalProperties": false,
        "description": "Size of the masked rectangle (percentages)",
        "properties": {
          "heightPct": {
            "example": 50,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "widthPct": {
            "example": 50,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "widthPct",
          "heightPct"
        ],
        "type": "object"
      },
      "MaskPoint": {
        "description": "Top-left corner of the masked rectangle (percentages)",
        "properties": {
          "xPct": {
            "example": 25,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "yPct": {
            "example": 25,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "xPct",
          "yPct"
        ],
        "type": "object"
      },
      "MaskPointOutput": {
        "additionalProperties": false,
        "description": "Top-left corner of the masked rectangle (percentages)",
        "properties": {
          "xPct": {
            "example": 25,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "yPct": {
            "example": 25,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "xPct",
          "yPct"
        ],
        "type": "object"
      },
      "MiddleLayout": {
        "additionalProperties": false,
        "description": "Centered subject. Camera-subject clips take a `shape`; basic-subject clips take no fields.",
        "properties": {
          "kind": {
            "enum": [
              "middle"
            ],
            "type": "string"
          },
          "shape": {
            "description": "Required for camera-subject clips. Rejected on basic-subject clips, which have no camera.",
            "enum": [
              "circle",
              "square",
              "landscape",
              "portrait"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind"
        ],
        "title": "Middle",
        "type": "object"
      },
      "MonoCaptionStyle": {
        "additionalProperties": false,
        "properties": {
          "activeWordTextColor": {
            "description": "Text color of the spoken word when highlightMode is background. Defaults to textColor.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "backgroundColor": {
            "description": "Caption background color in #RRGGBB or #RRGGBBAA form. Its alpha channel is rendered exactly; #RRGGBB is fully opaque. Responses use uppercase #RRGGBBAA and report the effective rendered color.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "backgroundEnabled": {
            "type": "boolean"
          },
          "backgroundPadding": {
            "description": "Extra room around the caption text inside its background, as a fraction of the font size added on every side. Defaults to 0, the style's standard padding. No effect while backgroundEnabled is false.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "highlightColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "highlightMode": {
            "description": "How the spoken word is emphasized. Defaults to text.",
            "enum": [
              "text",
              "background",
              "fadeRest"
            ],
            "type": "string"
          },
          "name": {
            "enum": [
              "mono"
            ],
            "type": "string"
          },
          "outlineColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "outlineEnabled": {
            "type": "boolean"
          },
          "shadowColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "shadowEnabled": {
            "type": "boolean"
          },
          "textCase": {
            "description": "Letter case applied to every caption word. Defaults to original.",
            "enum": [
              "original",
              "uppercase",
              "lowercase"
            ],
            "type": "string"
          },
          "textColor": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "wordLevelHighlights": {
            "description": "Highlight each word as it is spoken. Defaults to true.",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "textColor",
          "highlightColor"
        ],
        "title": "Mono",
        "type": "object"
      },
      "MotionApplyResult": {
        "additionalProperties": {},
        "description": "The outcome of a batch. On failure `ok` is false and the error names the failing item's index; nothing is applied.",
        "properties": {
          "changed": {
            "type": "boolean"
          },
          "ok": {
            "type": "boolean"
          },
          "seq": {
            "description": "The document's revision after the batch.",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "ok"
        ],
        "type": "object"
      },
      "MotionClipResponse": {
        "additionalProperties": false,
        "description": "The new clip and the document it plays",
        "properties": {
          "clipId": {
            "example": "cl_abc123",
            "type": "string"
          },
          "document": {
            "$ref": "#/components/schemas/MotionDocument"
          },
          "editUrl": {
            "description": "The new video in the Tella editor, when the clip made one.",
            "type": "string"
          },
          "videoId": {
            "description": "The new video, when the clip made one.",
            "example": "vid_abc123",
            "type": "string"
          }
        },
        "required": [
          "clipId",
          "document"
        ],
        "type": "object"
      },
      "MotionCommandAddEffect": {
        "additionalProperties": false,
        "description": "Adds an effect to a node's stack. `kind: \"shader\"` runs your own SkSL. `backdrop: true` filters what is beneath the node instead (frosted glass; on a transparent shape, an adjustment layer).",
        "properties": {
          "backdrop": {
            "description": "Filter what is drawn beneath the node's bounds instead of the node (frosted glass; on a transparent shape, an adjustment layer). Pixel filters only.",
            "type": "boolean"
          },
          "effectId": {
            "description": "The effect's id in the node's stack, as inspect_motion_node_properties lists it.",
            "pattern": "^[A-Za-z0-9_-]{1,64}$",
            "type": "string"
          },
          "index": {
            "description": "Place in the stack, 0 innermost (applied first); outermost when left out.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "inputs": {
            "additionalProperties": {
              "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
              "maxLength": 2000,
              "type": "string"
            },
            "description": "For kind shader: each `uniform shader` input, a node of the same composition.",
            "type": "object"
          },
          "kind": {
            "description": "An effect kind from list_motion_effects: a render timeline effect type (blur, glow, dropShadow, …), a built-in shader's name (fx.levels, fx.vignette, …), shader for your own SkSL in source, or an audio effect (parametricEq, compressor, reverb, …) for a node's sound, which runs in chain order and takes no backdrop.",
            "type": "string"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "params": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "maxLength": 20000,
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "items": {
                    "type": "number"
                  },
                  "maxItems": 64,
                  "type": "array"
                },
                {
                  "items": {
                    "items": {
                      "type": "number"
                    },
                    "maxItems": 2,
                    "type": "array"
                  },
                  "maxItems": 8,
                  "type": "array"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "x",
                    "y"
                  ],
                  "type": "object"
                }
              ]
            },
            "description": "Parameters by name, as list_motion_effects gives them: numbers, #rrggbb(aa) colours, [x, y] points, true/false, an option, or a node path.",
            "type": "object"
          },
          "preset": {
            "description": "A preset of the kind, by name from list_motion_effects; list_motion_effects {kind, preset} shows the settings it sets, which params then override.",
            "maxLength": 64,
            "type": "string"
          },
          "source": {
            "description": "For kind shader: SkSL with `uniform shader image;` (the node) and `half4 main(float2 p)`; `uniform float2 resolution` is bound to the node's size.",
            "maxLength": 50000,
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "enum": [
              "addEffect"
            ],
            "type": "string"
          },
          "uniforms": {
            "additionalProperties": {
              "items": {
                "type": "number"
              },
              "maxItems": 16,
              "minItems": 1,
              "type": "array"
            },
            "description": "For kind shader: each other uniform's values, as many as it declares (float 1, float2 2, half4 4); the renderer checks them against the SkSL. Each value keys as a property afterwards.",
            "type": "object"
          }
        },
        "required": [
          "type",
          "node",
          "kind"
        ],
        "title": "addEffect",
        "type": "object"
      },
      "MotionCommandAddMedia": {
        "additionalProperties": false,
        "description": "Places a video, image or sound: `mediaId` for media already in the document (`list_motion_media`), or `sourceId` for an upload, which Tella reads as the image, video or sound it is.",
        "properties": {
          "duration": {
            "description": "How long it plays: an image 3s by default; video and audio play from their start for this long, else whole, cut where the composition ends.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "mediaId": {
            "description": "Media already in the document, from list_motion_media.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "nodeId": {
            "description": "The new node's id; generated when left out.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "parent": {
            "description": "Where the new node goes: a sequence, a group, a composition instance (its composition's root), or \"\" for the canvas. The canvas when left out.",
            "maxLength": 2000,
            "type": "string"
          },
          "ripple": {
            "description": "Into a sequence: what starts at start or later moves on to make room, instead of refusing an overlap. A clip that start falls inside is still refused; split it first.",
            "type": "boolean"
          },
          "sourceId": {
            "description": "Or an upload (su_…): a source from create_source, a chat attachment, or a library item's sourceId. Tella reads from the upload whether it is an image, a video or a sound and declares the asset to match. Pass exactly one of mediaId and sourceId.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "start": {
            "description": "On the clock of the composition it goes in.",
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "addMedia"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "start"
        ],
        "title": "addMedia",
        "type": "object"
      },
      "MotionCommandAddPath": {
        "additionalProperties": false,
        "description": "Adds a vector path from SVG path data in canvas pixels, filled, stroked or both.",
        "properties": {
          "cap": {
            "description": "How a stroke's open ends are drawn.",
            "enum": [
              "butt",
              "round",
              "square"
            ],
            "type": "string"
          },
          "color": {
            "description": "Fill and stroke colour.",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "type": "string"
          },
          "duration": {
            "description": "Seconds; 3 by default.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "join": {
            "description": "How a stroke's corners are drawn.",
            "enum": [
              "miter",
              "round",
              "bevel"
            ],
            "type": "string"
          },
          "nodeId": {
            "description": "The new node's id; generated when left out.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "paint": {
            "description": "Fill the path's inside, stroke its line, or both.",
            "enum": [
              "fill",
              "stroke",
              "both"
            ],
            "type": "string"
          },
          "parent": {
            "description": "Where the new node goes: a sequence, a group, a composition instance (its composition's root), or \"\" for the canvas. The canvas when left out.",
            "maxLength": 2000,
            "type": "string"
          },
          "path": {
            "description": "SVG path data in canvas pixels.",
            "maxLength": 100000,
            "type": "string"
          },
          "start": {
            "description": "On the clock of the composition it goes in.",
            "minimum": 0,
            "type": "number"
          },
          "strokeWidth": {
            "description": "Px.",
            "maximum": 1000,
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "addPath"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "start",
          "path"
        ],
        "title": "addPath",
        "type": "object"
      },
      "MotionCommandAddShape": {
        "additionalProperties": false,
        "description": "Adds a shape: `fill` covers its composition, `rect` and `circle` draw in `box`. A `#00000000` fill with backdrop effects is an adjustment layer.",
        "properties": {
          "box": {
            "additionalProperties": false,
            "description": "Where a rect or circle draws, px in its composition; a circle fits the box's smaller side, centred. A rect or circle keeps its box when left out.",
            "properties": {
              "height": {
                "exclusiveMinimum": true,
                "minimum": 0,
                "type": "number"
              },
              "width": {
                "exclusiveMinimum": true,
                "minimum": 0,
                "type": "number"
              },
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y",
              "width",
              "height"
            ],
            "type": "object"
          },
          "color": {
            "description": "#rrggbbaa for a see-through fill; #00000000 makes a shape whose backdrop effects adjust what is beneath it.",
            "pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
            "type": "string"
          },
          "duration": {
            "description": "Seconds; 3 by default.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "nodeId": {
            "description": "The new node's id; generated when left out.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "parent": {
            "description": "Where the new node goes: a sequence, a group, a composition instance (its composition's root), or \"\" for the canvas. The canvas when left out.",
            "maxLength": 2000,
            "type": "string"
          },
          "radius": {
            "description": "A rect's corner radius, px.",
            "minimum": 0,
            "type": "number"
          },
          "shape": {
            "description": "fill covers its composition; rect when box is given.",
            "enum": [
              "fill",
              "rect",
              "circle"
            ],
            "type": "string"
          },
          "start": {
            "description": "On the clock of the composition it goes in.",
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "addShape"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "start"
        ],
        "title": "addShape",
        "type": "object"
      },
      "MotionCommandAddTitle": {
        "additionalProperties": false,
        "description": "Adds a title (text). `box` places the top-left of its first line and the width it wraps and aligns in.",
        "properties": {
          "align": {
            "description": "Within the box's width; center for a new title.",
            "enum": [
              "left",
              "center",
              "right"
            ],
            "type": "string"
          },
          "box": {
            "additionalProperties": false,
            "description": "Where the text lays out, px in its composition: x, y the top-left of the first line's box (fontSize × lineHeight tall, glyphs sit inside it by their font's metrics), width what it wraps and aligns in.",
            "properties": {
              "width": {
                "exclusiveMinimum": true,
                "minimum": 0,
                "type": "number"
              },
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y",
              "width"
            ],
            "type": "object"
          },
          "color": {
            "description": "Text colour; white for a new title.",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "type": "string"
          },
          "duration": {
            "description": "Seconds; 3 by default.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "font": {
            "description": "A font from list_motion_fonts: a catalog slug, e.g. inter, or a font uploaded to your library or your workspace's by its id (mi_…).",
            "type": "string"
          },
          "fontSize": {
            "description": "Px; 96 for a new title.",
            "exclusiveMinimum": true,
            "maximum": 2000,
            "minimum": 0,
            "type": "number"
          },
          "letterSpacing": {
            "description": "Added between characters, in em: 0.05 is 5% of the font size. 0 for a new title.",
            "maximum": 2,
            "minimum": -1,
            "type": "number"
          },
          "lineHeight": {
            "description": "A multiple of the font size; 1.2 for a new title.",
            "maximum": 4,
            "minimum": 0.5,
            "type": "number"
          },
          "nodeId": {
            "description": "The new node's id; generated when left out.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "parent": {
            "description": "Where the new node goes: a sequence, a group, a composition instance (its composition's root), or \"\" for the canvas. The canvas when left out.",
            "maxLength": 2000,
            "type": "string"
          },
          "start": {
            "description": "On the clock of the composition it goes in.",
            "minimum": 0,
            "type": "number"
          },
          "text": {
            "description": "What it says; `Title` for a new title.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "addTitle"
            ],
            "type": "string"
          },
          "weight": {
            "description": "100 (thin) to 900 (black); list_motion_fonts gives each font's range, and a font draws the nearest weight it has.",
            "maximum": 900,
            "minimum": 100,
            "type": "integer"
          }
        },
        "required": [
          "type",
          "start"
        ],
        "title": "addTitle",
        "type": "object"
      },
      "MotionCommandAnimate": {
        "additionalProperties": false,
        "description": "Applies an In or Out preset: two keys on opacity, position or scale from an edge at the node's start, or to one at its end. They are ordinary keys afterwards.",
        "properties": {
          "in": {
            "additionalProperties": false,
            "description": "Keys from an edge at its start to where it is duration later.",
            "properties": {
              "duration": {
                "description": "Seconds.",
                "exclusiveMinimum": true,
                "minimum": 0,
                "type": "number"
              },
              "easing": {
                "anyOf": [
                  {
                    "enum": [
                      "linear",
                      "hold",
                      "easyEase",
                      "easyEaseIn",
                      "easyEaseOut",
                      "autoBezier",
                      "easeInOutSine",
                      "easeInOutCubic",
                      "easeInOutExpo",
                      "easeOutCubic",
                      "easeInCubic",
                      "easeOutBack",
                      "easeInOutBack",
                      "springGentle",
                      "springBouncy"
                    ],
                    "type": "string"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "x1": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "x2": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "y1": {
                        "type": "number"
                      },
                      "y2": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "x1",
                      "y1",
                      "x2",
                      "y2"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "description": "Continuous bezier keys: one speed (units per second) on both sides of each key, derived from its neighbours when left out, with handles inInfluence and outInfluence of the segments around it (1/6 by default). autoBezier derives the speed from the keys either side; numbers only.",
                    "properties": {
                      "inInfluence": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "outInfluence": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "speed": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                ]
              },
              "kind": {
                "enum": [
                  "fade",
                  "slideLeft",
                  "slideRight",
                  "slideUp",
                  "slideDown",
                  "pop"
                ],
                "type": "string"
              }
            },
            "required": [
              "kind",
              "duration"
            ],
            "type": "object"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "out": {
            "additionalProperties": false,
            "description": "Keys from where it is duration before its end to an edge there.",
            "properties": {
              "duration": {
                "description": "Seconds.",
                "exclusiveMinimum": true,
                "minimum": 0,
                "type": "number"
              },
              "easing": {
                "anyOf": [
                  {
                    "enum": [
                      "linear",
                      "hold",
                      "easyEase",
                      "easyEaseIn",
                      "easyEaseOut",
                      "autoBezier",
                      "easeInOutSine",
                      "easeInOutCubic",
                      "easeInOutExpo",
                      "easeOutCubic",
                      "easeInCubic",
                      "easeOutBack",
                      "easeInOutBack",
                      "springGentle",
                      "springBouncy"
                    ],
                    "type": "string"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "x1": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "x2": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "y1": {
                        "type": "number"
                      },
                      "y2": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "x1",
                      "y1",
                      "x2",
                      "y2"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "description": "Continuous bezier keys: one speed (units per second) on both sides of each key, derived from its neighbours when left out, with handles inInfluence and outInfluence of the segments around it (1/6 by default). autoBezier derives the speed from the keys either side; numbers only.",
                    "properties": {
                      "inInfluence": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "outInfluence": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "speed": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                ]
              },
              "kind": {
                "enum": [
                  "fade",
                  "slideLeft",
                  "slideRight",
                  "slideUp",
                  "slideDown",
                  "pop"
                ],
                "type": "string"
              }
            },
            "required": [
              "kind",
              "duration"
            ],
            "type": "object"
          },
          "type": {
            "enum": [
              "animate"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node"
        ],
        "title": "animate",
        "type": "object"
      },
      "MotionCommandApplyLook": {
        "additionalProperties": false,
        "description": "Copies one node's style (opacity, blend, flips, corners, colour, blur, shadow) and effect stack onto others. Where they sit and how big they are stay their own.",
        "properties": {
          "from": {
            "description": "The node whose look is copied.",
            "maxLength": 2000,
            "type": "string"
          },
          "include": {
            "description": "style: opacity, blend, flips, corners, colour, blur and shadow; effects: the effect stack, keys included. Both when left out. Where each node sits and how big it is stay its own.",
            "items": {
              "enum": [
                "style",
                "effects"
              ],
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "nodes": {
            "description": "The nodes that take it.",
            "items": {
              "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 200,
            "minItems": 1,
            "type": "array"
          },
          "type": {
            "enum": [
              "applyLook"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "from",
          "nodes"
        ],
        "title": "applyLook",
        "type": "object"
      },
      "MotionCommandBindProperty": {
        "additionalProperties": false,
        "description": "Binds a node's property to an expression: a curve, the time, arithmetic over them, or where a canvas point lands through a lens shader's camera. Bound to a title's `text`, the title shows the number.",
        "properties": {
          "node": {
            "maxLength": 4096,
            "minLength": 1,
            "type": "string"
          },
          "property": {
            "description": "A numeric property in the units commands take (x, y px, rotation °, scale and opacity as fractions, a field:… such as a shader uniform), or text on a title: its text becomes the number.",
            "type": "string"
          },
          "text": {
            "additionalProperties": false,
            "description": "For text: around the number (0 decimals by default).",
            "properties": {
              "decimals": {
                "maximum": 6,
                "minimum": 0,
                "type": "integer"
              },
              "prefix": {
                "maxLength": 200,
                "type": "string"
              },
              "suffix": {
                "maxLength": 200,
                "type": "string"
              }
            },
            "type": "object"
          },
          "to": {
            "$ref": "#/components/schemas/__schema0",
            "allOf": [
              {
                "$ref": "#/components/schemas/__schema1"
              }
            ],
            "description": "{curve}, {time: 'seconds'}, {op, args}, or {project, axis}: where a canvas point lands through a camera, so a label follows a box a lens shader films. A plain number unbinds it."
          },
          "type": {
            "enum": [
              "bindProperty"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "property",
          "to"
        ],
        "title": "bindProperty",
        "type": "object"
      },
      "MotionCommandDelete": {
        "additionalProperties": false,
        "description": "Removes a node. `ripple` closes the gap it leaves in a sequence.",
        "properties": {
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "ripple": {
            "description": "In a sequence, close the gap it leaves.",
            "type": "boolean"
          },
          "type": {
            "enum": [
              "delete"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node"
        ],
        "title": "delete",
        "type": "object"
      },
      "MotionCommandDuck": {
        "additionalProperties": false,
        "description": "Turns a sound (music) down while other nodes (voice) play. Its level and fades stay editable; `under: []` removes the duck.",
        "properties": {
          "amountDb": {
            "description": "-12 by default.",
            "maximum": 0,
            "minimum": -60,
            "type": "number"
          },
          "attack": {
            "description": "Seconds, 0.3 by default.",
            "maximum": 5,
            "minimum": 0,
            "type": "number"
          },
          "node": {
            "description": "The sound to turn down (music).",
            "maxLength": 2000,
            "type": "string"
          },
          "release": {
            "description": "Seconds, 0.5 by default.",
            "maximum": 5,
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "duck"
            ],
            "type": "string"
          },
          "under": {
            "description": "Nodes (voice) it ducks under while they play; [] removes the duck.",
            "items": {
              "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 500,
            "type": "array"
          }
        },
        "required": [
          "type",
          "node",
          "under"
        ],
        "title": "duck",
        "type": "object"
      },
      "MotionCommandDuplicate": {
        "additionalProperties": false,
        "description": "Copies a node, with its keys and effects, next to itself.",
        "properties": {
          "newNodeId": {
            "description": "The copy's id; generated when left out.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "duplicate"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node"
        ],
        "title": "duplicate",
        "type": "object"
      },
      "MotionCommandEditKeyframe": {
        "additionalProperties": false,
        "description": "Moves, revalues or re-eases one key by its id (`inspect_motion_node_properties` lists ids), or re-eases several keys, or every key when neither `key` nor `keys` is given.",
        "properties": {
          "at": {
            "description": "Moves the key here.",
            "minimum": 0,
            "type": "number"
          },
          "easing": {
            "anyOf": [
              {
                "enum": [
                  "linear",
                  "hold",
                  "easyEase",
                  "easyEaseIn",
                  "easyEaseOut",
                  "autoBezier",
                  "easeInOutSine",
                  "easeInOutCubic",
                  "easeInOutExpo",
                  "easeOutCubic",
                  "easeInCubic",
                  "easeOutBack",
                  "easeInOutBack",
                  "springGentle",
                  "springBouncy"
                ],
                "type": "string"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "x1": {
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "x2": {
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "y1": {
                    "type": "number"
                  },
                  "y2": {
                    "type": "number"
                  }
                },
                "required": [
                  "x1",
                  "y1",
                  "x2",
                  "y2"
                ],
                "type": "object"
              },
              {
                "additionalProperties": false,
                "description": "Continuous bezier keys: one speed (units per second) on both sides of each key, derived from its neighbours when left out, with handles inInfluence and outInfluence of the segments around it (1/6 by default). autoBezier derives the speed from the keys either side; numbers only.",
                "properties": {
                  "inInfluence": {
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "outInfluence": {
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "speed": {
                    "type": "number"
                  }
                },
                "type": "object"
              }
            ],
            "description": "Into the next key."
          },
          "key": {
            "description": "A keyframe's id, as inspect_motion_node_properties lists it; it stays as the key moves.",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "keys": {
            "description": "Several keys to ease at once; every key when neither key nor keys is given. Easing only.",
            "items": {
              "description": "A keyframe's id, as inspect_motion_node_properties lists it; it stays as the key moves.",
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 200,
            "minItems": 1,
            "type": "array"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "property": {
            "description": "A property name (x, y, scale, rotation, opacity, volume, …) or a field:… path; inspect_motion_node_properties lists a node's.",
            "type": "string"
          },
          "type": {
            "enum": [
              "editKeyframe"
            ],
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^#[0-9a-fA-F]{6}$",
                "type": "string"
              }
            ],
            "description": "The key's new value."
          }
        },
        "required": [
          "type",
          "node",
          "property"
        ],
        "title": "editKeyframe",
        "type": "object"
      },
      "MotionCommandExpect": {
        "additionalProperties": false,
        "description": "Fails the batch unless a node exists (or not), or a property has a value at a time, within `tolerance`.",
        "properties": {
          "at": {
            "description": "Seconds on the node's composition clock.",
            "minimum": 0,
            "type": "number"
          },
          "exists": {
            "description": "true: the node must exist; false: it must not.",
            "type": "boolean"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "property": {
            "description": "A property name (x, y, scale, rotation, opacity, volume, …) or a field:… path; inspect_motion_node_properties lists a node's.",
            "type": "string"
          },
          "tolerance": {
            "description": "How far the value may be from `value`.",
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "expect"
            ],
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "pattern": "^#[0-9a-fA-F]{6}$",
                "type": "string"
              }
            ],
            "description": "The property's value at `at` (its start by default)."
          }
        },
        "required": [
          "type"
        ],
        "title": "expect",
        "type": "object"
      },
      "MotionCommandFitCanvas": {
        "additionalProperties": false,
        "description": "Shrinks the canvas to what its nodes draw at rest, plus `padding`, moving them and their keys with it. Its note gives the rectangle to place the overlay at so the content stays where it was in the video.",
        "properties": {
          "padding": {
            "description": "Px around the content, room for shadows and glows; 48 when left out.",
            "maximum": 2000,
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "fitCanvas"
            ],
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "title": "fitCanvas",
        "type": "object"
      },
      "MotionCommandGroup": {
        "additionalProperties": false,
        "description": "Groups sibling nodes into one layer in the topmost one's place, to move, fade or add effects to them together.",
        "properties": {
          "name": {
            "description": "The group's name in the editor.",
            "maxLength": 200,
            "type": "string"
          },
          "nodeId": {
            "description": "The group's id; generated when left out.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "nodes": {
            "description": "Siblings to group.",
            "items": {
              "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 200,
            "minItems": 1,
            "type": "array"
          },
          "type": {
            "enum": [
              "group"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "nodes"
        ],
        "title": "group",
        "type": "object"
      },
      "MotionCommandMoveEffect": {
        "additionalProperties": false,
        "description": "Moves an effect in the stack; index 0 applies first.",
        "properties": {
          "effectId": {
            "description": "The effect's id in the node's stack, as inspect_motion_node_properties lists it.",
            "pattern": "^[A-Za-z0-9_-]{1,64}$",
            "type": "string"
          },
          "index": {
            "description": "Its new place, 0 innermost (applied first).",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "moveEffect"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "effectId",
          "index"
        ],
        "title": "moveEffect",
        "type": "object"
      },
      "MotionCommandRemoveEffect": {
        "additionalProperties": false,
        "description": "Removes an effect from a node's stack.",
        "properties": {
          "effectId": {
            "description": "The effect's id in the node's stack, as inspect_motion_node_properties lists it.",
            "pattern": "^[A-Za-z0-9_-]{1,64}$",
            "type": "string"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "removeEffect"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "effectId"
        ],
        "title": "removeEffect",
        "type": "object"
      },
      "MotionCommandRemoveKeyframes": {
        "additionalProperties": false,
        "description": "Removes keys by id or time, or all of them, leaving the property at its value there.",
        "properties": {
          "at": {
            "description": "The keys' times; all of them (the property holds its value there) when left out.",
            "items": {
              "minimum": 0,
              "type": "number"
            },
            "type": "array"
          },
          "keys": {
            "description": "The keys' ids.",
            "items": {
              "description": "A keyframe's id, as inspect_motion_node_properties lists it; it stays as the key moves.",
              "maxLength": 64,
              "minLength": 1,
              "type": "string"
            },
            "maxItems": 200,
            "minItems": 1,
            "type": "array"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "property": {
            "description": "A property name (x, y, scale, rotation, opacity, volume, …) or a field:… path; inspect_motion_node_properties lists a node's.",
            "type": "string"
          },
          "type": {
            "enum": [
              "removeKeyframes"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "property"
        ],
        "title": "removeKeyframes",
        "type": "object"
      },
      "MotionCommandSetCurve": {
        "additionalProperties": false,
        "description": "Sets a named curve: a number, keys on the canvas clock, or an expression over other curves. `null` removes it.",
        "properties": {
          "name": {
            "description": "The curve's name.",
            "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$",
            "type": "string"
          },
          "type": {
            "enum": [
              "setCurve"
            ],
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "at": {
                      "description": "Seconds on the canvas clock.",
                      "minimum": 0,
                      "type": "number"
                    },
                    "easing": {
                      "description": "Into the next key; hold steps (a shot's value until a cut).",
                      "enum": [
                        "linear",
                        "hold",
                        "ease",
                        "easeIn",
                        "easeOut"
                      ],
                      "type": "string"
                    },
                    "value": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "at",
                    "value"
                  ],
                  "type": "object"
                },
                "maxItems": 1000,
                "minItems": 1,
                "type": "array"
              },
              {
                "$ref": "#/components/schemas/__schema0"
              }
            ],
            "description": "A number, keys, or an expression over other curves; null removes it. Every reader (bindProperty, a shader uniform) sees the same value at the same canvas time.",
            "nullable": true
          }
        },
        "required": [
          "type",
          "name",
          "value"
        ],
        "title": "setCurve",
        "type": "object"
      },
      "MotionCommandSetEffect": {
        "additionalProperties": false,
        "description": "Changes an effect's parameters or preset, or switches it off (`enabled: false` keeps its settings and keys).",
        "properties": {
          "backdrop": {
            "description": "Filter what is drawn beneath the node's bounds instead of the node (frosted glass; on a transparent shape, an adjustment layer). Pixel filters only.",
            "type": "boolean"
          },
          "effectId": {
            "description": "The effect's id in the node's stack, as inspect_motion_node_properties lists it.",
            "pattern": "^[A-Za-z0-9_-]{1,64}$",
            "type": "string"
          },
          "enabled": {
            "description": "The effect's switch: false draws the node unaffected, keeping its settings and keyframes.",
            "type": "boolean"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "params": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "maxLength": 20000,
                  "type": "string"
                },
                {
                  "type": "boolean"
                },
                {
                  "items": {
                    "type": "number"
                  },
                  "maxItems": 64,
                  "type": "array"
                },
                {
                  "items": {
                    "items": {
                      "type": "number"
                    },
                    "maxItems": 2,
                    "type": "array"
                  },
                  "maxItems": 8,
                  "type": "array"
                },
                {
                  "additionalProperties": false,
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "x",
                    "y"
                  ],
                  "type": "object"
                }
              ]
            },
            "description": "Parameters by name, as list_motion_effects gives them: numbers, #rrggbb(aa) colours, [x, y] points, true/false, an option, or a node path.",
            "type": "object"
          },
          "preset": {
            "description": "A preset of the kind, by name from list_motion_effects; list_motion_effects {kind, preset} shows the settings it sets, which params then override.",
            "maxLength": 64,
            "type": "string"
          },
          "type": {
            "enum": [
              "setEffect"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "effectId"
        ],
        "title": "setEffect",
        "type": "object"
      },
      "MotionCommandSetExpression": {
        "additionalProperties": false,
        "description": "Adds a wiggle (random drift over the property's value) or a loop (repeats its keys) to a property, or removes one. The value and keys underneath stay editable.",
        "properties": {
          "expression": {
            "oneOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "How far it wanders, in the property's units.",
                    "minimum": 0,
                    "type": "number"
                  },
                  "frequency": {
                    "description": "Wiggles per second.",
                    "exclusiveMinimum": true,
                    "maximum": 100,
                    "minimum": 0,
                    "type": "number"
                  },
                  "kind": {
                    "enum": [
                      "wiggle"
                    ],
                    "type": "string"
                  },
                  "seed": {
                    "description": "Another seed gives another random path.",
                    "maximum": 1000000,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "required": [
                  "kind",
                  "frequency",
                  "amount"
                ],
                "type": "object"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "kind": {
                    "enum": [
                      "noWiggle"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "kind"
                ],
                "type": "object"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "Added at full scale, in the property's units: the property becomes its value plus amount × the sound's RMS level (0..1) over the frame ending now.",
                    "type": "number"
                  },
                  "band": {
                    "additionalProperties": false,
                    "description": "Hertz: the level of these frequencies alone.",
                    "properties": {
                      "from": {
                        "maximum": 24000,
                        "minimum": 0,
                        "type": "number"
                      },
                      "to": {
                        "maximum": 24000,
                        "minimum": 0,
                        "type": "number"
                      }
                    },
                    "required": [
                      "from",
                      "to"
                    ],
                    "type": "object"
                  },
                  "channel": {
                    "enum": [
                      "mono",
                      "left",
                      "right"
                    ],
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "audio"
                    ],
                    "type": "string"
                  },
                  "sound": {
                    "description": "The node of the same composition whose sound drives it (a voice, music, a tone).",
                    "maxLength": 200,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "kind",
                  "sound",
                  "amount"
                ],
                "type": "object"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "kind": {
                    "enum": [
                      "noAudio"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "kind"
                ],
                "type": "object"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "direction": {
                    "description": "out repeats after the last key (loopOut), in before the first.",
                    "enum": [
                      "in",
                      "out"
                    ],
                    "type": "string"
                  },
                  "keyframes": {
                    "description": "Loop only the last (or first) this many keys.",
                    "maximum": 9007199254740991,
                    "minimum": 2,
                    "type": "integer"
                  },
                  "kind": {
                    "enum": [
                      "loop"
                    ],
                    "type": "string"
                  },
                  "mode": {
                    "description": "cycle repeats the keys, pingPong plays them back and forth, offset repeats them from where the last cycle ended, continue carries on at the last key's speed.",
                    "enum": [
                      "cycle",
                      "pingPong",
                      "offset",
                      "continue"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "kind",
                  "direction",
                  "mode"
                ],
                "type": "object"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "direction": {
                    "enum": [
                      "in",
                      "out"
                    ],
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "noLoop"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "kind",
                  "direction"
                ],
                "type": "object"
              }
            ],
            "type": "object"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "property": {
            "description": "A property name (x, y, scale, rotation, opacity, volume, …) or a field:… path; inspect_motion_node_properties lists a node's.",
            "type": "string"
          },
          "type": {
            "enum": [
              "setExpression"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "property",
          "expression"
        ],
        "title": "setExpression",
        "type": "object"
      },
      "MotionCommandSetFades": {
        "additionalProperties": false,
        "description": "Sets a sound's fade in and fade out, in seconds.",
        "properties": {
          "fadeIn": {
            "description": "Seconds.",
            "minimum": 0,
            "type": "number"
          },
          "fadeOut": {
            "description": "Seconds.",
            "minimum": 0,
            "type": "number"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "setFades"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node"
        ],
        "title": "setFades",
        "type": "object"
      },
      "MotionCommandSetKeyframes": {
        "additionalProperties": false,
        "description": "Replaces a property's animation with these keys. `easing: \"continuous\"` carries speed through each key (auto bezier), so moves ease into each other without a jolt.",
        "properties": {
          "easing": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "enum": [
                      "linear",
                      "hold",
                      "easyEase",
                      "easyEaseIn",
                      "easyEaseOut",
                      "autoBezier",
                      "easeInOutSine",
                      "easeInOutCubic",
                      "easeInOutExpo",
                      "easeOutCubic",
                      "easeInCubic",
                      "easeOutBack",
                      "easeInOutBack",
                      "springGentle",
                      "springBouncy"
                    ],
                    "type": "string"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "x1": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "x2": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "y1": {
                        "type": "number"
                      },
                      "y2": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "x1",
                      "y1",
                      "x2",
                      "y2"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "description": "Continuous bezier keys: one speed (units per second) on both sides of each key, derived from its neighbours when left out, with handles inInfluence and outInfluence of the segments around it (1/6 by default). autoBezier derives the speed from the keys either side; numbers only.",
                    "properties": {
                      "inInfluence": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "outInfluence": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "speed": {
                        "type": "number"
                      }
                    },
                    "type": "object"
                  }
                ]
              },
              {
                "enum": [
                  "continuous"
                ],
                "type": "string"
              }
            ],
            "description": "Every key's easing into the next, unless the key sets its own."
          },
          "keys": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "at": {
                  "description": "Seconds on the node's composition clock.",
                  "minimum": 0,
                  "type": "number"
                },
                "easing": {
                  "anyOf": [
                    {
                      "anyOf": [
                        {
                          "enum": [
                            "linear",
                            "hold",
                            "easyEase",
                            "easyEaseIn",
                            "easyEaseOut",
                            "autoBezier",
                            "easeInOutSine",
                            "easeInOutCubic",
                            "easeInOutExpo",
                            "easeOutCubic",
                            "easeInCubic",
                            "easeOutBack",
                            "easeInOutBack",
                            "springGentle",
                            "springBouncy"
                          ],
                          "type": "string"
                        },
                        {
                          "additionalProperties": false,
                          "properties": {
                            "x1": {
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "x2": {
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "y1": {
                              "type": "number"
                            },
                            "y2": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "x1",
                            "y1",
                            "x2",
                            "y2"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Continuous bezier keys: one speed (units per second) on both sides of each key, derived from its neighbours when left out, with handles inInfluence and outInfluence of the segments around it (1/6 by default). autoBezier derives the speed from the keys either side; numbers only.",
                          "properties": {
                            "inInfluence": {
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "outInfluence": {
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "speed": {
                              "type": "number"
                            }
                          },
                          "type": "object"
                        }
                      ]
                    },
                    {
                      "enum": [
                        "continuous"
                      ],
                      "type": "string"
                    }
                  ],
                  "description": "Into the next key. continuous (auto bezier) carries the speed through the keys around it, so a fast move eases into a slow one and out again without a jolt and without overshooting; numbers only."
                },
                "value": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "pattern": "^#[0-9a-fA-F]{6}$",
                      "type": "string"
                    }
                  ],
                  "description": "In the property's units."
                }
              },
              "required": [
                "at",
                "value"
              ],
              "type": "object"
            },
            "maxItems": 200,
            "minItems": 1,
            "type": "array"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "property": {
            "description": "A property name (x, y, scale, rotation, opacity, volume, …) or a field:… path; inspect_motion_node_properties lists a node's.",
            "type": "string"
          },
          "type": {
            "enum": [
              "setKeyframes"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "property",
          "keys"
        ],
        "title": "setKeyframes",
        "type": "object"
      },
      "MotionCommandSetMarkers": {
        "additionalProperties": false,
        "description": "Sets every marker a node keeps: moments or spans with labels, for timing other nodes to.",
        "properties": {
          "markers": {
            "description": "Every marker the node has afterwards; [] removes them all.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "at": {
                  "description": "On the node's composition clock, at or after its start.",
                  "minimum": 0,
                  "type": "number"
                },
                "duration": {
                  "description": "A span rather than a moment.",
                  "exclusiveMinimum": true,
                  "minimum": 0,
                  "type": "number"
                },
                "id": {
                  "description": "Keep a marker's id to edit it; generated when left out.",
                  "pattern": "^[A-Za-z0-9_.-]{1,64}$",
                  "type": "string"
                },
                "label": {
                  "description": "Its text.",
                  "maxLength": 500,
                  "type": "string"
                }
              },
              "required": [
                "at"
              ],
              "type": "object"
            },
            "maxItems": 4096,
            "type": "array"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "setMarkers"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "markers"
        ],
        "title": "setMarkers",
        "type": "object"
      },
      "MotionCommandSetMasks": {
        "additionalProperties": false,
        "description": "Replaces a node's masks (rectangles, ellipses or SVG paths), applied before its effects. `[]` removes them.",
        "properties": {
          "masks": {
            "description": "Replaces the node's masks, applied before its effects; [] removes them. Their numbers key as properties afterwards.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "expansion": {
                  "description": "Px the mask grows by; negative shrinks it.",
                  "maximum": 1000,
                  "minimum": -1000,
                  "type": "number"
                },
                "feather": {
                  "description": "Px of soft edge.",
                  "maximum": 1000,
                  "minimum": 0,
                  "type": "number"
                },
                "featherFalloff": {
                  "description": "How coverage falls across the feather; smooth by default.",
                  "enum": [
                    "smooth",
                    "linear"
                  ],
                  "type": "string"
                },
                "featherPoints": {
                  "description": "Variable-width feather: at is a fraction of the mask's outline from its start, radius widens the feather outward (positive) or inward (negative) there, interpolated between points.",
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "at": {
                        "maximum": 1,
                        "minimum": 0,
                        "type": "number"
                      },
                      "id": {
                        "description": "The point's id, to keep a point setMasks is given again; a new point gets one.",
                        "maxLength": 256,
                        "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]*$",
                        "type": "string"
                      },
                      "radius": {
                        "maximum": 1000,
                        "minimum": -1000,
                        "type": "number"
                      }
                    },
                    "required": [
                      "at",
                      "radius"
                    ],
                    "type": "object"
                  },
                  "maxItems": 256,
                  "type": "array"
                },
                "height": {
                  "exclusiveMinimum": true,
                  "minimum": 0,
                  "type": "number"
                },
                "inverted": {
                  "description": "Keep what is outside the mask instead.",
                  "type": "boolean"
                },
                "mode": {
                  "description": "How it combines with the masks before it; add by default. none leaves it out, for a stack effect's mask.",
                  "enum": [
                    "add",
                    "subtract",
                    "intersect",
                    "lighten",
                    "darken",
                    "difference",
                    "none"
                  ],
                  "type": "string"
                },
                "opacity": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "path": {
                  "description": "SVG path data in the pixels the node is placed in.",
                  "maxLength": 20000,
                  "type": "string"
                },
                "radius": {
                  "description": "A rect's corner radius.",
                  "minimum": 0,
                  "type": "number"
                },
                "shape": {
                  "enum": [
                    "rect",
                    "ellipse",
                    "path"
                  ],
                  "type": "string"
                },
                "width": {
                  "exclusiveMinimum": true,
                  "minimum": 0,
                  "type": "number"
                },
                "x": {
                  "description": "Left of a rect or ellipse, in the pixels the node is placed in: masks do not follow its position, scale or rotation, so key them with it.",
                  "type": "number"
                },
                "y": {
                  "description": "Top of a rect or ellipse, in the pixels the node is placed in.",
                  "type": "number"
                }
              },
              "required": [
                "shape"
              ],
              "type": "object"
            },
            "maxItems": 32,
            "type": "array"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "setMasks"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "masks"
        ],
        "title": "setMasks",
        "type": "object"
      },
      "MotionCommandSetMatte": {
        "additionalProperties": false,
        "description": "Shows a node through another node of the same composition (a track matte), by its alpha or luma. The matte node is hidden unless `showMatte`.",
        "properties": {
          "matte": {
            "description": "A node in the same composition; null removes the matte.",
            "maxLength": 2000,
            "nullable": true,
            "type": "string"
          },
          "mode": {
            "description": "Show the node where the matte is opaque (alpha) or bright (luma), or the inverse; alpha by default.",
            "enum": [
              "alpha",
              "alphaInverted",
              "luma",
              "lumaInverted"
            ],
            "type": "string"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "showMatte": {
            "description": "Keep the matte node visible; it is hidden by default.",
            "type": "boolean"
          },
          "type": {
            "enum": [
              "setMatte"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "matte"
        ],
        "title": "setMatte",
        "type": "object"
      },
      "MotionCommandSetPath": {
        "additionalProperties": false,
        "description": "Changes a path's points or paint, or morphs it between keyed paths (matching point counts morph point for point).",
        "properties": {
          "cap": {
            "description": "How a stroke's open ends are drawn.",
            "enum": [
              "butt",
              "round",
              "square"
            ],
            "type": "string"
          },
          "color": {
            "description": "Fill and stroke colour.",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "type": "string"
          },
          "join": {
            "description": "How a stroke's corners are drawn.",
            "enum": [
              "miter",
              "round",
              "bevel"
            ],
            "type": "string"
          },
          "keys": {
            "description": "Morph keys: the shape takes each path at its time, morphing between (matching point counts morph point for point).",
            "items": {
              "additionalProperties": false,
              "properties": {
                "at": {
                  "description": "Seconds on the node's composition clock.",
                  "minimum": 0,
                  "type": "number"
                },
                "easing": {
                  "anyOf": [
                    {
                      "enum": [
                        "linear",
                        "hold",
                        "easyEase",
                        "easyEaseIn",
                        "easyEaseOut",
                        "autoBezier",
                        "easeInOutSine",
                        "easeInOutCubic",
                        "easeInOutExpo",
                        "easeOutCubic",
                        "easeInCubic",
                        "easeOutBack",
                        "easeInOutBack",
                        "springGentle",
                        "springBouncy"
                      ],
                      "type": "string"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "x1": {
                          "maximum": 1,
                          "minimum": 0,
                          "type": "number"
                        },
                        "x2": {
                          "maximum": 1,
                          "minimum": 0,
                          "type": "number"
                        },
                        "y1": {
                          "type": "number"
                        },
                        "y2": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "x1",
                        "y1",
                        "x2",
                        "y2"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "description": "Continuous bezier keys: one speed (units per second) on both sides of each key, derived from its neighbours when left out, with handles inInfluence and outInfluence of the segments around it (1/6 by default). autoBezier derives the speed from the keys either side; numbers only.",
                      "properties": {
                        "inInfluence": {
                          "maximum": 1,
                          "minimum": 0,
                          "type": "number"
                        },
                        "outInfluence": {
                          "maximum": 1,
                          "minimum": 0,
                          "type": "number"
                        },
                        "speed": {
                          "type": "number"
                        }
                      },
                      "type": "object"
                    }
                  ],
                  "description": "Into the next key."
                },
                "path": {
                  "description": "SVG path data at this key.",
                  "maxLength": 100000,
                  "type": "string"
                }
              },
              "required": [
                "at",
                "path"
              ],
              "type": "object"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "paint": {
            "description": "Fill the path's inside, stroke its line, or both.",
            "enum": [
              "fill",
              "stroke",
              "both"
            ],
            "type": "string"
          },
          "path": {
            "description": "New points, constant.",
            "maxLength": 100000,
            "type": "string"
          },
          "strokeWidth": {
            "description": "Px.",
            "maximum": 1000,
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "setPath"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node"
        ],
        "title": "setPath",
        "type": "object"
      },
      "MotionCommandSetProperty": {
        "additionalProperties": false,
        "description": "Sets a property. On an animated property `at` is required and sets the key there; without `value` it adds a key holding the value at `at`. `blendMode`, `flipX` and `flipY` are set without `at`.",
        "properties": {
          "at": {
            "description": "Where to set it when the property is animated: the key there is added or changed. Required then.",
            "minimum": 0,
            "type": "number"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "property": {
            "description": "A property name (x, y, scale, rotation, opacity, volume, …) or a field:… path; inspect_motion_node_properties lists a node's.",
            "type": "string"
          },
          "type": {
            "enum": [
              "setProperty"
            ],
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "pattern": "^#[0-9a-fA-F]{6}$",
                    "type": "string"
                  }
                ]
              },
              {
                "type": "boolean"
              },
              {
                "enum": [
                  "normal",
                  "clear",
                  "src",
                  "dst",
                  "srcOver",
                  "dstOver",
                  "srcIn",
                  "dstIn",
                  "srcOut",
                  "dstOut",
                  "srcATop",
                  "dstATop",
                  "xor",
                  "plus",
                  "modulate",
                  "screen",
                  "overlay",
                  "darken",
                  "lighten",
                  "colorDodge",
                  "colorBurn",
                  "hardLight",
                  "softLight",
                  "difference",
                  "exclusion",
                  "multiply",
                  "hue",
                  "saturation",
                  "color",
                  "luminosity",
                  "linearBurn",
                  "vividLight",
                  "linearLight",
                  "pinLight",
                  "hardMix",
                  "subtract",
                  "divide",
                  "darkerColor",
                  "lighterColor",
                  "stencilAlpha",
                  "stencilLuma",
                  "silhouetteAlpha",
                  "silhouetteLuma",
                  "dissolve",
                  "animatedDissolve",
                  "premultipliedColorBurn",
                  "premultipliedColorDodge",
                  "premultipliedDifference",
                  "alphaAdd"
                ],
                "type": "string"
              }
            ],
            "description": "Left out, a key at `at` holding the value the property has there."
          }
        },
        "required": [
          "type",
          "node",
          "property"
        ],
        "title": "setProperty",
        "type": "object"
      },
      "MotionCommandSetShape": {
        "additionalProperties": false,
        "description": "Changes a shape's kind, box, colour or corner radius.",
        "properties": {
          "box": {
            "additionalProperties": false,
            "description": "Where a rect or circle draws, px in its composition; a circle fits the box's smaller side, centred. A rect or circle keeps its box when left out.",
            "properties": {
              "height": {
                "exclusiveMinimum": true,
                "minimum": 0,
                "type": "number"
              },
              "width": {
                "exclusiveMinimum": true,
                "minimum": 0,
                "type": "number"
              },
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y",
              "width",
              "height"
            ],
            "type": "object"
          },
          "color": {
            "description": "#rrggbbaa for a see-through fill; #00000000 makes a shape whose backdrop effects adjust what is beneath it.",
            "pattern": "^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$",
            "type": "string"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "radius": {
            "description": "A rect's corner radius, px.",
            "minimum": 0,
            "type": "number"
          },
          "shape": {
            "description": "fill covers its composition; rect when box is given.",
            "enum": [
              "fill",
              "rect",
              "circle"
            ],
            "type": "string"
          },
          "type": {
            "enum": [
              "setShape"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node"
        ],
        "title": "setShape",
        "type": "object"
      },
      "MotionCommandSetSpeed": {
        "additionalProperties": false,
        "description": "Plays a node faster or slower (0.05 to 20).",
        "properties": {
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "speed": {
            "description": "2 plays twice as fast.",
            "maximum": 20,
            "minimum": 0.05,
            "type": "number"
          },
          "type": {
            "enum": [
              "setSpeed"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "speed"
        ],
        "title": "setSpeed",
        "type": "object"
      },
      "MotionCommandSetTextAnimation": {
        "additionalProperties": false,
        "description": "Animates a title per character, word or line as it comes in or goes out. `preset: null` removes it.",
        "properties": {
          "duration": {
            "description": "Seconds each unit takes (0.4 by default).",
            "exclusiveMinimum": true,
            "maximum": 10,
            "minimum": 0,
            "type": "number"
          },
          "from": {
            "description": "Which units go first; start by default.",
            "enum": [
              "start",
              "end",
              "center",
              "edges",
              "random"
            ],
            "type": "string"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "phase": {
            "description": "in as the title appears; out ends as the title ends.",
            "enum": [
              "in",
              "out"
            ],
            "type": "string"
          },
          "preset": {
            "description": "null removes the phase's animation.",
            "enum": [
              "typewriter",
              "fade",
              "rise",
              "drop",
              "pop",
              "blur",
              "slideLeft",
              "slideRight",
              "spread",
              "spin"
            ],
            "nullable": true,
            "type": "string"
          },
          "stagger": {
            "description": "Seconds between units' starts (0.04 by default).",
            "maximum": 5,
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "setTextAnimation"
            ],
            "type": "string"
          },
          "unit": {
            "description": "What animates one at a time; character by default.",
            "enum": [
              "character",
              "word",
              "line"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "phase",
          "preset"
        ],
        "title": "setTextAnimation",
        "type": "object"
      },
      "MotionCommandSetTimeRemap": {
        "additionalProperties": false,
        "description": "Replaces a media node's or composition instance's timing with keys of which source time shows when: slow motion, speed ramps and freeze frames (`hold`). Media plays forward only.",
        "properties": {
          "keys": {
            "description": "Replaces the node's timing with these keys (media forward only; an instance can reverse); null restores it.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "at": {
                  "description": "On the node's composition clock.",
                  "minimum": 0,
                  "type": "number"
                },
                "easing": {
                  "description": "Into the next key; hold freezes the frame.",
                  "enum": [
                    "linear",
                    "hold",
                    "ease"
                  ],
                  "type": "string"
                },
                "source": {
                  "description": "The media's (or instance's composition's) time shown there.",
                  "minimum": 0,
                  "type": "number"
                }
              },
              "required": [
                "at",
                "source"
              ],
              "type": "object"
            },
            "maxItems": 200,
            "minItems": 1,
            "nullable": true,
            "type": "array"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "setTimeRemap"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "keys"
        ],
        "title": "setTimeRemap",
        "type": "object"
      },
      "MotionCommandSetTitle": {
        "additionalProperties": false,
        "description": "Changes a title's text, box, font, size, colour or spacing.",
        "properties": {
          "align": {
            "description": "Within the box's width; center for a new title.",
            "enum": [
              "left",
              "center",
              "right"
            ],
            "type": "string"
          },
          "box": {
            "additionalProperties": false,
            "description": "Where the text lays out, px in its composition: x, y the top-left of the first line's box (fontSize × lineHeight tall, glyphs sit inside it by their font's metrics), width what it wraps and aligns in.",
            "properties": {
              "width": {
                "exclusiveMinimum": true,
                "minimum": 0,
                "type": "number"
              },
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y",
              "width"
            ],
            "type": "object"
          },
          "color": {
            "description": "Text colour; white for a new title.",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "type": "string"
          },
          "font": {
            "description": "A font from list_motion_fonts: a catalog slug, e.g. inter, or a font uploaded to your library or your workspace's by its id (mi_…).",
            "type": "string"
          },
          "fontSize": {
            "description": "Px; 96 for a new title.",
            "exclusiveMinimum": true,
            "maximum": 2000,
            "minimum": 0,
            "type": "number"
          },
          "letterSpacing": {
            "description": "Added between characters, in em: 0.05 is 5% of the font size. 0 for a new title.",
            "maximum": 2,
            "minimum": -1,
            "type": "number"
          },
          "lineHeight": {
            "description": "A multiple of the font size; 1.2 for a new title.",
            "maximum": 4,
            "minimum": 0.5,
            "type": "number"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "text": {
            "description": "What it says; `Title` for a new title.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "setTitle"
            ],
            "type": "string"
          },
          "weight": {
            "description": "100 (thin) to 900 (black); list_motion_fonts gives each font's range, and a font draws the nearest weight it has.",
            "maximum": 900,
            "minimum": 100,
            "type": "integer"
          }
        },
        "required": [
          "type",
          "node"
        ],
        "title": "setTitle",
        "type": "object"
      },
      "MotionCommandSetTransition": {
        "additionalProperties": false,
        "description": "Sets the transition into a sequence child from the child that ends where it starts.",
        "properties": {
          "duration": {
            "description": "Seconds, 0.5 by default; never longer than either child.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "kind": {
            "description": "crossfade dissolves; left, right, up and down wipe in that direction; none removes the transition.",
            "enum": [
              "none",
              "crossfade",
              "left",
              "right",
              "up",
              "down"
            ],
            "type": "string"
          },
          "node": {
            "description": "The sequence child the transition leads into; another child must end where it starts.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "setTransition"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "kind"
        ],
        "title": "setTransition",
        "type": "object"
      },
      "MotionCommandSplit": {
        "additionalProperties": false,
        "description": "Splits a node in two at a time.",
        "properties": {
          "at": {
            "description": "Where to split, on the node's composition clock.",
            "minimum": 0,
            "type": "number"
          },
          "newNodeId": {
            "description": "The second half's id; generated when left out.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "split"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node",
          "at"
        ],
        "title": "split",
        "type": "object"
      },
      "MotionCommandStagger": {
        "additionalProperties": false,
        "description": "Starts each node `interval` seconds after the one before, moving their keys and effects with them.",
        "properties": {
          "interval": {
            "description": "Seconds between one node's start and the next's.",
            "type": "number"
          },
          "nodes": {
            "description": "In the order they start; each moves with its keys and effects.",
            "items": {
              "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
              "maxLength": 2000,
              "type": "string"
            },
            "maxItems": 200,
            "minItems": 2,
            "type": "array"
          },
          "start": {
            "description": "Where the first starts; where it starts now when left out.",
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "stagger"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "nodes",
          "interval"
        ],
        "title": "stagger",
        "type": "object"
      },
      "MotionCommandTrim": {
        "additionalProperties": false,
        "description": "Moves a node's start or end. A new start trims the head: what plays stays put.",
        "properties": {
          "end": {
            "description": "The new end.",
            "minimum": 0,
            "type": "number"
          },
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "ripple": {
            "description": "In a sequence, the node keeps its start and what follows moves by as much as its length changes.",
            "type": "boolean"
          },
          "start": {
            "description": "The new start; what plays stays put.",
            "minimum": 0,
            "type": "number"
          },
          "type": {
            "enum": [
              "trim"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node"
        ],
        "title": "trim",
        "type": "object"
      },
      "MotionCommandUngroup": {
        "additionalProperties": false,
        "description": "Puts a group's nodes back in its place. A moved group leaves a hidden null they follow; a clipped or filtered group is refused.",
        "properties": {
          "node": {
            "description": "A node's id: ids are unique in the document, so a node inside a composition is named by its id alone. A path through instances (scene.1/title) is accepted too.",
            "maxLength": 2000,
            "type": "string"
          },
          "type": {
            "enum": [
              "ungroup"
            ],
            "type": "string"
          }
        },
        "required": [
          "type",
          "node"
        ],
        "title": "ungroup",
        "type": "object"
      },
      "MotionComposition": {
        "additionalProperties": {},
        "description": "A composition's node outline and the instances that play it. Editing a composition changes every instance.",
        "properties": {},
        "type": "object"
      },
      "MotionDocument": {
        "additionalProperties": false,
        "description": "A Tella Motion document: a render timeline (a tree of media, sound, text, shape, sequence and composition nodes) that a Tella Motion clip, overlay or b-roll plays live, so edits show in the video at once.",
        "properties": {
          "createdAt": {
            "example": "2026-10-22T10:00:00.000Z",
            "type": "string"
          },
          "id": {
            "description": "Document ID",
            "example": "ffd_abc123",
            "type": "string"
          },
          "name": {
            "example": "Lower third",
            "type": "string"
          },
          "ownerID": {
            "description": "The owner's ID: the video's, for `story` documents; yours, for `user` documents.",
            "example": "vid_abc123",
            "type": "string"
          },
          "sceneID": {
            "description": "The clip that plays this document, when it is a Tella Motion clip's. Absent for overlays and b-roll.",
            "type": "string"
          },
          "scope": {
            "description": "Who owns the document: `story` for a video's own documents (its Tella Motion clips, overlays and b-roll), `user` for one of yours that no video plays yet.",
            "example": "story",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "scope",
          "ownerID",
          "createdAt"
        ],
        "type": "object"
      },
      "MotionDocumentDownload": {
        "additionalProperties": {},
        "description": "The whole document as stored (`formatVersion`, `name`, `timeline`: the render timeline with every node, composition and asset, and `editor`: names, colours, locks and other editor state by node path) and `seq`. Its shape is `GET /v1/motion/schema?schema=document`. Times are ticks, whole units of 1/`timeline.canvas.ticksPerSecond` s: divide by it for seconds.",
        "properties": {},
        "type": "object"
      },
      "MotionDocumentResponse": {
        "additionalProperties": false,
        "description": "A Tella Motion document",
        "properties": {
          "document": {
            "$ref": "#/components/schemas/MotionDocument"
          }
        },
        "required": [
          "document"
        ],
        "type": "object"
      },
      "MotionDocumentSummary": {
        "additionalProperties": {},
        "description": "The document's canvas, the outline of its nodes (paths, types, windows in seconds, what they show, paint order, transitions), its compositions and assets, the editor's node names, colours, mute, solo and locks, and `seq`, the revision to pass as baseRevision.",
        "properties": {},
        "type": "object"
      },
      "MotionEdit": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/MotionCommandSetCurve"
          },
          {
            "$ref": "#/components/schemas/MotionCommandBindProperty"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSplit"
          },
          {
            "$ref": "#/components/schemas/MotionCommandTrim"
          },
          {
            "$ref": "#/components/schemas/MotionCommandDelete"
          },
          {
            "$ref": "#/components/schemas/MotionCommandDuplicate"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetSpeed"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetTransition"
          },
          {
            "$ref": "#/components/schemas/MotionCommandAddTitle"
          },
          {
            "$ref": "#/components/schemas/MotionCommandAddShape"
          },
          {
            "$ref": "#/components/schemas/MotionCommandAddMedia"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetTitle"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetShape"
          },
          {
            "$ref": "#/components/schemas/MotionCommandAnimate"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetProperty"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetKeyframes"
          },
          {
            "$ref": "#/components/schemas/MotionCommandEditKeyframe"
          },
          {
            "$ref": "#/components/schemas/MotionCommandRemoveKeyframes"
          },
          {
            "$ref": "#/components/schemas/MotionCommandAddEffect"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetEffect"
          },
          {
            "$ref": "#/components/schemas/MotionCommandRemoveEffect"
          },
          {
            "$ref": "#/components/schemas/MotionCommandMoveEffect"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetMasks"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetMatte"
          },
          {
            "$ref": "#/components/schemas/MotionCommandGroup"
          },
          {
            "$ref": "#/components/schemas/MotionCommandUngroup"
          },
          {
            "$ref": "#/components/schemas/MotionCommandStagger"
          },
          {
            "$ref": "#/components/schemas/MotionCommandApplyLook"
          },
          {
            "$ref": "#/components/schemas/MotionCommandFitCanvas"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetMarkers"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetTimeRemap"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetExpression"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetTextAnimation"
          },
          {
            "$ref": "#/components/schemas/MotionCommandAddPath"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetPath"
          },
          {
            "$ref": "#/components/schemas/MotionCommandDuck"
          },
          {
            "$ref": "#/components/schemas/MotionCommandExpect"
          },
          {
            "$ref": "#/components/schemas/MotionCommandSetFades"
          },
          {
            "$ref": "#/components/schemas/MotionOp"
          }
        ],
        "description": "One edit in a batch: an editor command (camelCase `type`, times in seconds) or an op (dotted `type`, raw render timeline values). See https://docs.tella.com/mcp-tools/motion-commands for every command and op with an example."
      },
      "MotionEffectsResponse": {
        "additionalProperties": false,
        "description": "The effect kinds the `addEffect` command takes",
        "properties": {
          "effect": {
            "additionalProperties": {},
            "description": "With `kind`: that effect, its presets with their values; with `preset` too, that preset's `params`.",
            "properties": {},
            "type": "object"
          },
          "effects": {
            "description": "Without `kind`: each effect kind (blurs, glows, shadows, colour grading, keying, distortion, wipes, path effects, echo, repeater) with its parameters' names, types, ranges, units and defaults, its presets by name and description, and `presetsKeep`, the parameters a preset leaves as they are.",
            "items": {
              "additionalProperties": {},
              "properties": {},
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "MotionFontsResponse": {
        "additionalProperties": false,
        "description": "Fonts for titles",
        "properties": {
          "fonts": {
            "description": "The catalog's fonts, by the slug a title takes.",
            "items": {},
            "type": "array"
          },
          "libraryFonts": {
            "description": "The fonts uploaded to your library or your workspace's, by the id (`mi_…`) a title takes, with the weight of each file of a family.",
            "items": {},
            "type": "array"
          }
        },
        "required": [
          "fonts",
          "libraryFonts"
        ],
        "type": "object"
      },
      "MotionMediaResponse": {
        "additionalProperties": {},
        "description": "The videos, sounds and images already in the document, each with the `mediaId` the `addMedia` command places.",
        "properties": {},
        "type": "object"
      },
      "MotionNode": {
        "additionalProperties": {},
        "description": "One node with every stored field, its window, the composition it sits in and, for an instance, the outline of the composition it opens. Its fields hold stored values, so their times are ticks (divide by `timeline.canvas.ticksPerSecond` for seconds); its window is in seconds.",
        "properties": {},
        "type": "object"
      },
      "MotionNodeProperties": {
        "additionalProperties": {},
        "description": "A node as the editor's inspector shows it at a time: every animatable property with its unit, range, value there and keyframes (time, value, easing), its effect stack and expressions, its style (blend, flips and shadow), title or shape settings and audio fades. Times are seconds, except the motion blur shutter, which is stored ticks (unit `ticks`).",
        "properties": {},
        "type": "object"
      },
      "MotionOp": {
        "additionalProperties": {},
        "properties": {
          "type": {
            "description": "The op: what the document stores, with render timeline values. `GET /v1/motion/schema?schema=edits&type=…` gives each one's fields.",
            "enum": [
              "document.rename",
              "canvas.set",
              "node.insert",
              "node.remove",
              "node.patch",
              "node.move",
              "node.trim",
              "node.wrap",
              "node.unwrap",
              "node.rewrap",
              "node.split",
              "meta.set",
              "asset.set",
              "asset.remove",
              "composition.set",
              "composition.remove",
              "transition.set",
              "transition.remove",
              "curve.set"
            ],
            "example": "node.patch",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "title": "op",
        "type": "object"
      },
      "MotionSchemaResponse": {
        "additionalProperties": {},
        "description": "A JSON schema.",
        "properties": {},
        "type": "object"
      },
      "MusicBeatsResponse": {
        "additionalProperties": false,
        "description": "Tempo, beats and bars of a music track, analyzed once per track and cached",
        "properties": {
          "beatsMs": {
            "description": "Every beat, in ms: on the video's playback timeline for background music (the same times as `get_timeline`), in source time for a source",
            "example": [
              512,
              1012,
              1512,
              2012
            ],
            "items": {
              "minimum": 0,
              "type": "number"
            },
            "type": "array"
          },
          "beatsPerBar": {
            "description": "Beats in each bar: 4, or 3 for a waltz-like meter",
            "example": 4,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "bpm": {
            "description": "Tempo in beats per minute. 0 when the track has no beat at all",
            "example": 120,
            "minimum": 0,
            "type": "number"
          },
          "confidence": {
            "description": "How clearly the track has a pulse, 0 to 1. Steady produced music is usually above 0.4; beatless ambient music below 0.1, where the beats are only a guess",
            "example": 0.86,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "downbeatsMs": {
            "description": "The first beat of every bar, a subset of `beatsMs`. Cut or start a motion on these for the strongest musical accents",
            "example": [
              512,
              2512
            ],
            "items": {
              "minimum": 0,
              "type": "number"
            },
            "type": "array"
          },
          "durationMs": {
            "description": "Length of the timeline the beats are on: the video's playback duration for background music, the source's duration for a source",
            "example": 95200,
            "minimum": 0,
            "type": "number"
          },
          "trackDurationMs": {
            "description": "Length of one pass of the track. Background music restarts after it, so its beat grid restarts too",
            "example": 180036,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "bpm",
          "beatsPerBar",
          "confidence",
          "trackDurationMs",
          "durationMs",
          "beatsMs",
          "downbeatsMs"
        ],
        "type": "object"
      },
      "OverlayAnimation": {
        "additionalProperties": false,
        "description": "How the overlay enters and leaves, like the editor's Animate panel. When set it replaces `transition`.",
        "properties": {
          "intro": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSide"
              }
            ],
            "description": "How the whole overlay enters, or null when it appears instantly.",
            "nullable": true
          },
          "motionBlur": {
            "description": "Blur the overlay along its motion while it moves, scales or turns.",
            "example": true,
            "type": "boolean"
          },
          "outro": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSide"
              }
            ],
            "description": "How the whole overlay leaves, or null when it disappears instantly.",
            "nullable": true
          },
          "textIntro": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSide"
              }
            ],
            "description": "How a text overlay's letters, words or lines enter, one after another, while `intro` plays on the whole box. Null when they don't.",
            "nullable": true
          },
          "textOutro": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSide"
              }
            ],
            "description": "How a text overlay's letters, words or lines leave, one after another, while `outro` plays on the whole box. Null when they don't.",
            "nullable": true
          }
        },
        "required": [
          "intro",
          "outro",
          "textIntro",
          "textOutro",
          "motionBlur"
        ],
        "type": "object"
      },
      "OverlayAnimationCurve": {
        "description": "How a side accelerates. `linear` keeps one speed. `smooth`, `natural`, `slow_down`, `accelerate`, `elastic`, `bounce`, `overshoot`, `impulse` and `swing` are shaped by `intensity`. `custom` follows `bezier`, `spring` follows `spring`.",
        "enum": [
          "linear",
          "smooth",
          "natural",
          "slow_down",
          "accelerate",
          "elastic",
          "bounce",
          "overshoot",
          "impulse",
          "swing",
          "custom",
          "spring"
        ],
        "example": "slow_down",
        "type": "string"
      },
      "OverlayAnimationEasing": {
        "additionalProperties": false,
        "properties": {
          "bezier": {
            "description": "The `custom` curve's handles.",
            "example": [
              0.25,
              0.1,
              0.25,
              1
            ],
            "items": {
              "anyOf": [
                {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ]
            },
            "maxItems": 4,
            "minItems": 4,
            "type": "array"
          },
          "curve": {
            "$ref": "#/components/schemas/OverlayAnimationCurve"
          },
          "intensity": {
            "description": "How strongly the curve shapes the motion, 0 to 1. Only curves with an intensity use it.",
            "example": 0.5,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "spring": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSpringOutput"
              }
            ],
            "description": "The `spring` curve's physics."
          }
        },
        "required": [
          "curve",
          "intensity"
        ],
        "type": "object"
      },
      "OverlayAnimationEasingInput": {
        "additionalProperties": false,
        "description": "How the side accelerates. Without it a new side slows down into place on the way in and speeds up on the way out.",
        "properties": {
          "bezier": {
            "description": "For `custom`: the handles. Defaults to the side's current curve.",
            "example": [
              0.25,
              0.1,
              0.25,
              1
            ],
            "items": {
              "anyOf": [
                {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                {
                  "type": "number"
                },
                {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                {
                  "type": "number"
                }
              ]
            },
            "maxItems": 4,
            "minItems": 4,
            "type": "array"
          },
          "curve": {
            "$ref": "#/components/schemas/OverlayAnimationCurve"
          },
          "intensity": {
            "description": "How strongly the curve shapes the motion, 0 to 1. Only curves with an intensity use it. Defaults to 0.5.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "spring": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSpring"
              }
            ],
            "description": "For `spring`: its physics. Defaults to stiffness 200, damping 12, mass 1."
          }
        },
        "required": [
          "curve"
        ],
        "type": "object"
      },
      "OverlayAnimationInput": {
        "additionalProperties": false,
        "description": "How the overlay enters and leaves; when set it replaces `transition`. Each side describes the hidden state the overlay moves from on the way in and back to on the way out. An omitted side stays as it is. `{intro: {preset: 'slide_up'}, outro: {preset: 'fade'}}` is a complete animation; on text, `{textIntro: {preset: 'slide_up', text: {unit: 'words'}}}` brings the words in one by one.",
        "example": {
          "intro": {
            "preset": "slide_up"
          },
          "outro": {
            "preset": "fade"
          }
        },
        "properties": {
          "intro": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSideInput"
              }
            ],
            "description": "How the whole overlay enters, or null to appear instantly. Takes no `text`. Omit to keep the current intro.",
            "nullable": true
          },
          "motionBlur": {
            "description": "Blur the overlay along its motion while it moves, scales or turns. Defaults to true.",
            "type": "boolean"
          },
          "outro": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSideInput"
              }
            ],
            "description": "How the whole overlay leaves, or null to disappear instantly. Takes no `text`. Omit to keep the current outro.",
            "nullable": true
          },
          "textIntro": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSideInput"
              }
            ],
            "description": "Text overlays only: how its letters, words or lines enter, one after another, or null for none. Plays alongside `intro`: both start together.",
            "nullable": true
          },
          "textOutro": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationSideInput"
              }
            ],
            "description": "Text overlays only: how its letters, words or lines leave, one after another, or null for none. Plays alongside `outro`: both end together.",
            "nullable": true
          }
        },
        "type": "object"
      },
      "OverlayAnimationPreset": {
        "description": "A ready-made side, the same as the editor's Animate presets. A `slide_*` or `mask_*` arrow is the direction the overlay travels, so a `slide_up` intro rises into place and a `slide_up` outro rises away.",
        "enum": [
          "fade",
          "slide_up",
          "slide_down",
          "slide_left",
          "slide_right",
          "mask_up",
          "mask_down",
          "grow",
          "shrink",
          "blur",
          "blur_slide_up"
        ],
        "example": "slide_up",
        "type": "string"
      },
      "OverlayAnimationSide": {
        "additionalProperties": false,
        "description": "One side of an overlay animation: the hidden state the overlay moves from on the way in, or back to on the way out.",
        "properties": {
          "blur": {
            "description": "Blur of the hidden state in pixels.",
            "example": 0,
            "type": "number"
          },
          "clip": {
            "description": "Clip the motion to the overlay's box, so it wipes in like a mask.",
            "example": false,
            "type": "boolean"
          },
          "durationMs": {
            "description": "How long the side plays, in ms (50 to 5000). On a text side, how long each unit plays.",
            "example": 500,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "easing": {
            "$ref": "#/components/schemas/OverlayAnimationEasing"
          },
          "moveX": {
            "description": "Horizontal offset of the hidden state, as a fraction of the overlay's width (of a line's height on a text side); positive is right.",
            "example": 0,
            "type": "number"
          },
          "moveY": {
            "description": "Vertical offset of the hidden state, as a fraction of the overlay's height (of a line's height on a text side); positive is down.",
            "example": -0.5,
            "type": "number"
          },
          "opacity": {
            "description": "Opacity of the hidden state, 0 to 1.",
            "example": 0,
            "type": "number"
          },
          "preset": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationPreset"
              }
            ],
            "description": "The preset the side matches, or null once its motion is custom.",
            "nullable": true
          },
          "rotate": {
            "description": "Clockwise rotation of the hidden state in degrees.",
            "example": 0,
            "type": "number"
          },
          "scale": {
            "description": "Scale of the hidden state; 1 is its resting size.",
            "example": 1,
            "type": "number"
          },
          "text": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationText"
              }
            ]
          }
        },
        "required": [
          "preset",
          "moveX",
          "moveY",
          "rotate",
          "scale",
          "opacity",
          "blur",
          "clip",
          "durationMs",
          "easing"
        ],
        "type": "object"
      },
      "OverlayAnimationSideInput": {
        "additionalProperties": false,
        "description": "One side of an overlay animation. A side starts from its `preset` (or from the side as it is) and the fields you give adjust it.",
        "properties": {
          "blur": {
            "description": "Blur of the hidden state in pixels.",
            "maximum": 200,
            "minimum": 0,
            "type": "number"
          },
          "clip": {
            "description": "Clip the motion to the overlay's box, so it wipes in like a mask.",
            "type": "boolean"
          },
          "durationMs": {
            "description": "How long the side plays, in ms (50 to 5000). On a text side, how long each unit plays. Defaults to 500.",
            "maximum": 5000,
            "minimum": 50,
            "type": "number"
          },
          "easing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationEasingInput"
              }
            ]
          },
          "moveX": {
            "description": "Horizontal offset of the hidden state, as a fraction of the overlay's width (of a line's height on a text side); positive is right.",
            "maximum": 10,
            "minimum": -10,
            "type": "number"
          },
          "moveY": {
            "description": "Vertical offset of the hidden state, as a fraction of the overlay's height (of a line's height on a text side); positive is down.",
            "maximum": 10,
            "minimum": -10,
            "type": "number"
          },
          "opacity": {
            "description": "Opacity of the hidden state, 0 to 1.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "preset": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationPreset"
              }
            ],
            "description": "Start from a ready-made side; the other fields adjust it. Without it the side starts from what it is now; a new whole side starts still and a new text side from `fade`."
          },
          "rotate": {
            "description": "Clockwise rotation of the hidden state in degrees.",
            "maximum": 3600,
            "minimum": -3600,
            "type": "number"
          },
          "scale": {
            "description": "Scale of the hidden state; 1 is its resting size.",
            "maximum": 10,
            "minimum": 0,
            "type": "number"
          },
          "text": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationTextInput"
              }
            ]
          }
        },
        "type": "object"
      },
      "OverlayAnimationSpring": {
        "description": "Spring physics. The spring sets the side's `durationMs`: it lasts until the spring comes to rest.",
        "properties": {
          "damping": {
            "example": 12,
            "maximum": 300,
            "minimum": 1,
            "type": "number"
          },
          "mass": {
            "example": 1,
            "maximum": 10,
            "minimum": 0.1,
            "type": "number"
          },
          "stiffness": {
            "example": 200,
            "maximum": 1000,
            "minimum": 1,
            "type": "number"
          }
        },
        "required": [
          "stiffness",
          "damping",
          "mass"
        ],
        "type": "object"
      },
      "OverlayAnimationSpringOutput": {
        "additionalProperties": false,
        "description": "Spring physics. The spring sets the side's `durationMs`: it lasts until the spring comes to rest.",
        "properties": {
          "damping": {
            "example": 12,
            "maximum": 300,
            "minimum": 1,
            "type": "number"
          },
          "mass": {
            "example": 1,
            "maximum": 10,
            "minimum": 0.1,
            "type": "number"
          },
          "stiffness": {
            "example": 200,
            "maximum": 1000,
            "minimum": 1,
            "type": "number"
          }
        },
        "required": [
          "stiffness",
          "damping",
          "mass"
        ],
        "type": "object"
      },
      "OverlayAnimationText": {
        "additionalProperties": false,
        "description": "The units a text side plays on, each in turn.",
        "properties": {
          "delayMs": {
            "description": "How long after one unit the next starts, in ms (0 to 2000).",
            "example": 100,
            "maximum": 2000,
            "minimum": 0,
            "type": "integer"
          },
          "order": {
            "description": "Which unit goes first. `random` uses the same shuffle every time.",
            "enum": [
              "forward",
              "backward",
              "center",
              "edges",
              "random"
            ],
            "example": "forward",
            "type": "string"
          },
          "smoothing": {
            "description": "Eases the delays across the units: `linear` is an even step, the other curves bunch the starts up at one end.",
            "enum": [
              "linear",
              "smooth",
              "natural",
              "slow_down",
              "accelerate",
              "elastic",
              "overshoot",
              "impulse",
              "swing"
            ],
            "example": "linear",
            "type": "string"
          },
          "unit": {
            "description": "What animates on its own.",
            "enum": [
              "letters",
              "words",
              "lines"
            ],
            "example": "words",
            "type": "string"
          }
        },
        "required": [
          "unit",
          "order",
          "delayMs",
          "smoothing"
        ],
        "type": "object"
      },
      "OverlayAnimationTextInput": {
        "additionalProperties": false,
        "description": "On `textIntro`/`textOutro` only: which units play the side, each in turn. Required on a new text side.",
        "properties": {
          "delayMs": {
            "description": "How long after one unit the next starts, in ms (0 to 2000). Defaults to 100.",
            "maximum": 2000,
            "minimum": 0,
            "type": "number"
          },
          "order": {
            "description": "Which unit goes first. `random` uses the same shuffle every time. Defaults to `forward`.",
            "enum": [
              "forward",
              "backward",
              "center",
              "edges",
              "random"
            ],
            "example": "forward",
            "type": "string"
          },
          "smoothing": {
            "description": "Eases the delays across the units. Defaults to `linear`.",
            "enum": [
              "linear",
              "smooth",
              "natural",
              "slow_down",
              "accelerate",
              "elastic",
              "overshoot",
              "impulse",
              "swing"
            ],
            "example": "linear",
            "type": "string"
          },
          "unit": {
            "description": "What animates on its own.",
            "enum": [
              "letters",
              "words",
              "lines"
            ],
            "example": "words",
            "type": "string"
          }
        },
        "required": [
          "unit"
        ],
        "type": "object"
      },
      "OverlayDepth": {
        "description": "Where the overlay sits relative to the presenter: the person in the clip's camera recording, or in its uploaded footage when the clip has no camera. `front` paints over everything. `behind_presenter` paints it behind the person but over everything else: in any layout the person is matted out of their footage and redrawn above the overlay. Fullscreen and framed layouts keep the recorded room around them; a cut-out layout replaces the room with the clip background. New overlays start on `front`. Without a presenter the overlay paints in front either way.",
        "enum": [
          "front",
          "behind_presenter"
        ],
        "example": "behind_presenter",
        "type": "string"
      },
      "OverlayDepthChanges": {
        "description": "Changes of `depth` over the overlay's own time, each held until the next: `atMs` after the overlay starts it moves to that depth, so one overlay can pass in front of the presenter and back behind them (a ring orbiting their head, a title they step in front of). `depth` is where it starts. On updates, omit it to leave the changes as they are; `[]` removes them. Absent in responses while the overlay holds one depth.",
        "items": {
          "additionalProperties": false,
          "properties": {
            "atMs": {
              "description": "Ms after the overlay starts.",
              "example": 1200,
              "minimum": 0,
              "type": "number"
            },
            "depth": {
              "$ref": "#/components/schemas/OverlayDepth"
            }
          },
          "required": [
            "atMs",
            "depth"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "OverlayDimensions": {
        "description": "Overlay size in artboard pixels. Absolute (not a percentage) so the overlay shape never distorts when the artboard dimensions change. Both sides must be greater than 0 — the renderer lays the overlay out into this box, so a zero or negative side has no valid meaning.",
        "properties": {
          "height": {
            "example": 540,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "width": {
            "example": 960,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "width",
          "height"
        ],
        "type": "object"
      },
      "OverlayDimensionsOutput": {
        "additionalProperties": false,
        "description": "Overlay size in artboard pixels. Absolute (not a percentage) so the overlay shape never distorts when the artboard dimensions change. Both sides must be greater than 0 — the renderer lays the overlay out into this box, so a zero or negative side has no valid meaning.",
        "properties": {
          "height": {
            "example": 540,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "width": {
            "example": 960,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "width",
          "height"
        ],
        "type": "object"
      },
      "OverlayPoint": {
        "description": "Top-left corner of the overlay, as a percentage of the video canvas (0-100). Relative so the anchor survives video aspect ratio changes.",
        "properties": {
          "xPct": {
            "example": 30,
            "type": "number"
          },
          "yPct": {
            "example": 30,
            "type": "number"
          }
        },
        "required": [
          "xPct",
          "yPct"
        ],
        "type": "object"
      },
      "OverlayPointOutput": {
        "additionalProperties": false,
        "description": "Top-left corner of the overlay, as a percentage of the video canvas (0-100). Relative so the anchor survives video aspect ratio changes.",
        "properties": {
          "xPct": {
            "example": 30,
            "type": "number"
          },
          "yPct": {
            "example": 30,
            "type": "number"
          }
        },
        "required": [
          "xPct",
          "yPct"
        ],
        "type": "object"
      },
      "OverlayZIndex": {
        "description": "Stacking position among the clip's image, video and text overlays: 0 is the backmost. `depth` applies first — a `behind_presenter` overlay stays behind the presenter whatever its zIndex — so the order only matters among overlays at the same depth. Lottie overlays share the stack but aren't listed, so listed values can skip a number.",
        "example": 0,
        "maximum": 9007199254740991,
        "minimum": 0,
        "type": "integer"
      },
      "Pagination": {
        "additionalProperties": false,
        "description": "Pagination metadata for list responses. Results are sorted by updatedAt descending.",
        "properties": {
          "hasMore": {
            "description": "Whether there are more items to fetch",
            "example": true,
            "type": "boolean"
          },
          "nextCursor": {
            "description": "Cursor for next page. Pass this value as the 'cursor' query parameter to fetch the next page. Null if no more pages. This is an opaque value - do not decode or modify it.",
            "example": "eyJpZCI6IjEyMyJ9",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "nextCursor",
          "hasMore"
        ],
        "type": "object"
      },
      "PlaylistDetail": {
        "additionalProperties": false,
        "description": "Detailed information about a playlist",
        "properties": {
          "createdAt": {
            "description": "ISO 8601 datetime",
            "example": "2024-01-15T10:30:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "Playlist description",
            "example": "A collection of tutorial videos for our product",
            "maxLength": 5000,
            "type": "string"
          },
          "emoji": {
            "description": "Unicode emoji character for the playlist",
            "example": "🎬",
            "maxLength": 10,
            "type": "string"
          },
          "groupId": {
            "description": "Playlist group this playlist belongs to in the sidebar, or null if ungrouped",
            "example": "pg_abc123def456",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique playlist identifier",
            "example": "pl_abc123def456",
            "type": "string"
          },
          "linkScope": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistLinkScope"
              }
            ],
            "description": "Access level for the playlist"
          },
          "links": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistLinks"
              }
            ],
            "description": "Related URLs for the playlist"
          },
          "name": {
            "description": "Playlist name",
            "example": "Product Tutorials",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "searchEngineIndexingEnabled": {
            "description": "Whether search engines can index this playlist",
            "example": true,
            "type": "boolean"
          },
          "updatedAt": {
            "description": "ISO 8601 datetime",
            "example": "2024-01-15T14:45:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "videos": {
            "description": "Number of videos in the playlist",
            "example": 12,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "visibility": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistVisibility"
              }
            ],
            "description": "Whether playlist is shared with org or personal to creator"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "emoji",
          "videos",
          "linkScope",
          "searchEngineIndexingEnabled",
          "visibility",
          "groupId",
          "createdAt",
          "updatedAt",
          "links"
        ],
        "type": "object"
      },
      "PlaylistGroup": {
        "additionalProperties": false,
        "description": "A sidebar group that playlists can be organized into. Personal groups are only visible to you; org groups are shared with the whole workspace.",
        "properties": {
          "emoji": {
            "description": "Unicode emoji character for the group, empty if unset",
            "example": "📁",
            "type": "string"
          },
          "id": {
            "description": "Unique playlist group identifier",
            "example": "pg_abc123def456",
            "type": "string"
          },
          "name": {
            "description": "Playlist group name",
            "example": "Marketing",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "visibility": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistGroupVisibility"
              }
            ],
            "description": "Whether the group lives in the personal or workspace section of the sidebar"
          }
        },
        "required": [
          "id",
          "name",
          "emoji",
          "visibility"
        ],
        "type": "object"
      },
      "PlaylistGroupResponse": {
        "additionalProperties": false,
        "description": "A single playlist group",
        "properties": {
          "group": {
            "$ref": "#/components/schemas/PlaylistGroup"
          }
        },
        "required": [
          "group"
        ],
        "type": "object"
      },
      "PlaylistGroupVisibility": {
        "description": "Visibility: org (shared sidebar group for the entire organization) or personal (only visible to you)",
        "enum": [
          "org",
          "personal"
        ],
        "example": "personal",
        "type": "string"
      },
      "PlaylistLinkScope": {
        "description": "Access level: public (anyone with link), private (only invited users, plus the workspace when visibility is org), password (requires password), embedonly (only viewable when embedded)",
        "enum": [
          "public",
          "private",
          "password",
          "embedonly"
        ],
        "example": "public",
        "type": "string"
      },
      "PlaylistLinks": {
        "additionalProperties": false,
        "description": "URLs related to a playlist",
        "properties": {
          "viewPage": {
            "description": "URL to view the playlist on Tella",
            "example": "https://www.tella.tv/playlist/pl_abc123def456/view",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "viewPage"
        ],
        "type": "object"
      },
      "PlaylistListItem": {
        "additionalProperties": false,
        "description": "Playlist item in a list response",
        "properties": {
          "createdAt": {
            "description": "ISO 8601 datetime",
            "example": "2024-01-15T10:30:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "Playlist description",
            "example": "A collection of tutorial videos for our product",
            "maxLength": 5000,
            "type": "string"
          },
          "emoji": {
            "description": "Unicode emoji character for the playlist",
            "example": "🎬",
            "maxLength": 10,
            "type": "string"
          },
          "groupId": {
            "description": "Playlist group this playlist belongs to in the sidebar, or null if ungrouped",
            "example": "pg_abc123def456",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique playlist identifier",
            "example": "pl_abc123def456",
            "type": "string"
          },
          "linkScope": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistLinkScope"
              }
            ],
            "description": "Access level for the playlist"
          },
          "links": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistLinks"
              }
            ],
            "description": "Related URLs for the playlist"
          },
          "name": {
            "description": "Playlist name",
            "example": "Product Tutorials",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "searchEngineIndexingEnabled": {
            "description": "Whether search engines can index this playlist",
            "example": true,
            "type": "boolean"
          },
          "updatedAt": {
            "description": "ISO 8601 datetime",
            "example": "2024-01-15T14:45:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "videos": {
            "description": "Number of videos in the playlist",
            "example": 12,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "visibility": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistVisibility"
              }
            ],
            "description": "Whether playlist is shared with org or personal to creator"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "emoji",
          "videos",
          "linkScope",
          "searchEngineIndexingEnabled",
          "visibility",
          "groupId",
          "createdAt",
          "updatedAt",
          "links"
        ],
        "type": "object"
      },
      "PlaylistVisibility": {
        "description": "Visibility: org (shared with entire organization) or personal (only creator)",
        "enum": [
          "org",
          "personal"
        ],
        "example": "org",
        "type": "string"
      },
      "Publication": {
        "additionalProperties": false,
        "properties": {
          "accountId": {
            "description": "The connected account it was published with; null for publishes made before Tella supported several accounts",
            "nullable": true,
            "type": "string"
          },
          "accountName": {
            "description": "That account's name in Tella",
            "nullable": true,
            "type": "string"
          },
          "captionsError": {
            "description": "Set on a completed YouTube publish whose caption track was refused",
            "nullable": true,
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "destination": {
            "description": "One of the request destinations, or tiktok",
            "type": "string"
          },
          "error": {
            "description": "Why a failed publish failed",
            "nullable": true,
            "type": "string"
          },
          "privacy": {
            "enum": [
              "public",
              "unlisted",
              "private",
              "followers",
              "friends"
            ],
            "type": "string"
          },
          "providerVideoId": {
            "nullable": true,
            "type": "string"
          },
          "scheduledAt": {
            "description": "When a scheduled publish goes out; null when it wasn't scheduled",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "A scheduled publish stays `queued` until its time, and is `cancelled` if taken back before then",
            "enum": [
              "queued",
              "running",
              "completed",
              "failed",
              "cancelled"
            ],
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "url": {
            "description": "The post on the destination, once completed",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "destination",
          "accountId",
          "accountName",
          "status",
          "title",
          "privacy",
          "url",
          "providerVideoId",
          "error",
          "captionsError",
          "scheduledAt",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "PublishVideoRequest": {
        "additionalProperties": false,
        "properties": {
          "accountId": {
            "description": "Which of your connected accounts to post with, from GET /v1/social-accounts. Defaults to the oldest connected account for the destination.",
            "type": "string"
          },
          "description": {
            "description": "YouTube description, or the post text on LinkedIn, X, Instagram and Facebook.",
            "type": "string"
          },
          "destination": {
            "description": "Where to post. YouTube Shorts must be vertical or square and at most 3 minutes; Facebook Stories vertical and at most 60 seconds; Instagram Stories at most 60 seconds and 100 MB; Instagram posts and reels at most 15 minutes and 300 MB; no Instagram destination takes a 4K export; LinkedIn at most 30 minutes and 500 MB. Instagram, Facebook Stories and LinkedIn need at least 3 seconds. YouTube takes at most 15 minutes from a channel that isn't verified; X at most 20 minutes, or 125 with Premium or a checkmark. Stories show no text. The Facebook and Instagram destinations publish through one Facebook connection.",
            "enum": [
              "youtube",
              "youtube_shorts",
              "linkedin",
              "x",
              "instagram_post",
              "instagram_reel",
              "instagram_story",
              "facebook_post",
              "facebook_story"
            ],
            "type": "string"
          },
          "export": {
            "additionalProperties": false,
            "description": "Settings of the export to upload, as POST /v1/videos/{id}/exports takes them. A finished or running export with these settings is reused; otherwise one is started. Defaults to 1080p, 30 fps, no burned-in subtitles, 1x.",
            "properties": {
              "fps": {
                "enum": [
                  "30",
                  "60"
                ],
                "type": "string"
              },
              "resolution": {
                "enum": [
                  "4k"
                ],
                "type": "string"
              },
              "speed": {
                "enum": [
                  "1",
                  "2",
                  "0.5",
                  "0.75",
                  "1.25",
                  "1.5",
                  "1.75"
                ],
                "type": "string"
              },
              "subtitles": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "privacy": {
            "description": "YouTube: private (default), unlisted or public. LinkedIn: private (connections only, default) or public. Facebook posts: private (only people who manage the Page, default), unlisted (anyone with the link) or public; they go to the default Page set in Settings → Connections, else the first Page the account manages. Instagram destinations likewise go to the default Instagram account. Every other destination: public only.",
            "enum": [
              "public",
              "unlisted",
              "private"
            ],
            "type": "string"
          },
          "scheduledAt": {
            "description": "When to post, as an ISO 8601 time with a timezone, e.g. 2026-10-20T15:00:00Z; at most 30 days ahead. The video is exported now, so later edits aren't in the post. Omit to post as soon as the export is ready.",
            "type": "string"
          },
          "title": {
            "description": "Video title on YouTube. On LinkedIn, X, Instagram and Facebook it is the post text when description is empty.",
            "minLength": 1,
            "type": "string"
          },
          "uploadCaptions": {
            "description": "YouTube only: upload the transcript as a caption track (default true). Skipped when the export has burned-in subtitles.",
            "type": "boolean"
          }
        },
        "required": [
          "destination",
          "title"
        ],
        "type": "object"
      },
      "PublishVideoResponse": {
        "additionalProperties": false,
        "properties": {
          "publication": {
            "$ref": "#/components/schemas/Publication"
          }
        },
        "required": [
          "publication"
        ],
        "type": "object"
      },
      "RecordingLink": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "Opens the user's recorder for a new clip at the end of the video. It needs the user to be signed in to Tella.",
            "type": "string"
          },
          "videoId": {
            "description": "The video the recording is added to",
            "type": "string"
          }
        },
        "required": [
          "url",
          "videoId"
        ],
        "type": "object"
      },
      "RemoveSilencesRequest": {
        "description": "Options for removing silences from a clip",
        "properties": {
          "mode": {
            "description": "How aggressively to remove silences: natural cuts pauses longer than 800ms, fast longer than 500ms, faster longer than 300ms. Defaults to natural.",
            "enum": [
              "natural",
              "fast",
              "faster"
            ],
            "example": "natural",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ReorderClipRequest": {
        "additionalProperties": false,
        "description": "Move a clip to a new position. Other clips are renumbered to keep ordering contiguous.",
        "properties": {
          "order": {
            "description": "New position for the clip (0 = first)",
            "example": 2,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "order"
        ],
        "type": "object"
      },
      "SaveSubtitlePresetRequest": {
        "additionalProperties": false,
        "description": "A subtitle look to save. Pass `videoId` to snapshot a video's current subtitles, `captionStyle` to build one from scratch, or both — explicit caption fields override the video's.",
        "properties": {
          "captionFontFamily": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionFontFamily"
              }
            ],
            "description": "One of Tella's catalog font families or the built-in subtitle families `Dela Gothic One`, `Lato`, `Georgia`, and `Arial`. Defaults to the video's font, or the style's default face."
          },
          "captionFontSize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionFontSize"
              }
            ],
            "description": "Exact subtitle text size, 40 to 200. Defaults to the video's, or the style's default. Pass this or `captionSize`, not both."
          },
          "captionFontWeight": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionFontWeight"
              }
            ],
            "description": "Subtitle font weight, 100 to 1000. Catalog fonts clamp to their supported range; built-in subtitle fonts outside the catalog snap to an available weight. Defaults to the font's current weight."
          },
          "captionGrouping": {
            "description": "How subtitle text is grouped: sentence chunks or one word at a time. Defaults to the video's, or chunked.",
            "enum": [
              "chunked",
              "singleWord"
            ],
            "type": "string"
          },
          "captionLinesPerBlock": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionLinesPerBlock"
              }
            ],
            "description": "Lines per chunked caption block: 1, 2, 3, or 0 for no limit. Defaults to the video's, or 1."
          },
          "captionPosition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionPosition"
              }
            ],
            "description": "Normalized subtitle position, or null for automatic placement. Defaults to the video's, or automatic.",
            "nullable": true
          },
          "captionSize": {
            "description": "Subtitle text size. Defaults to the video's, or the style's default. Pass this or `captionFontSize`, not both.",
            "enum": [
              "small",
              "medium",
              "large"
            ],
            "type": "string"
          },
          "captionStyle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionStyle"
              }
            ],
            "description": "Subtitle style for the preset. Required without `videoId`; with it, replaces the video's style."
          },
          "name": {
            "description": "Preset name, as shown in the editor. Defaults to the matching built-in's name, numbered past any saved preset already using it.",
            "example": "Brand captions",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "videoId": {
            "description": "Video whose current subtitle look to start from. Omit to build the preset from `captionStyle` and the style's defaults.",
            "example": "vid_abc123",
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SaveTextPresetRequest": {
        "additionalProperties": false,
        "description": "Save a personal text preset. The style starts from the given text overlay, else from the editor's default text look; every style field sent alongside overrides it.",
        "properties": {
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackground"
              }
            ]
          },
          "backgroundPadding": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundPadding"
              }
            ]
          },
          "backgroundShape": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ]
          },
          "color": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#FFFFFFFF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "fontFamily": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayFontFamily"
              }
            ]
          },
          "fontSizeScale": {
            "description": "Font size relative to the editor's default (7.5% of the canvas's shorter side): 1 is the default, 0.6 a caption, 1.4 a headline. Presets are video-independent, so this is a scale rather than pixels; adding an overlay resolves it for the video it lands on.",
            "example": 0.6,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "fontWeight": {
            "maximum": 1000,
            "minimum": 1,
            "type": "number"
          },
          "fontWidth": {
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "name": {
            "example": "Product callout",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "outline": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayOutline"
              }
            ],
            "description": "Outline color, or null for none."
          },
          "textAlign": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayTextAlign"
              }
            ]
          },
          "textOverlayId": {
            "description": "Text overlay to copy the style from, keeping a custom font and reading its size relative to that video's canvas. Goes together with `videoId`.",
            "example": "ly_abc123",
            "type": "string"
          },
          "videoId": {
            "description": "Video holding the text overlay to copy the style from. Goes together with `textOverlayId`.",
            "example": "vid_abc123",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ScreenOnlyLayout": {
        "additionalProperties": false,
        "description": "Screen fills the frame or sits centered; the camera is hidden. Combi (all ratios).",
        "properties": {
          "kind": {
            "enum": [
              "screen-only"
            ],
            "type": "string"
          },
          "screenFit": {
            "description": "Only honoured when `style: \"fullscreen\"`. Defaults to cover.",
            "enum": [
              "cover",
              "letterbox"
            ],
            "type": "string"
          },
          "style": {
            "description": "`fullscreen` fills the frame with the screen (optional `screenFit`); `middle` centers the screen.",
            "enum": [
              "fullscreen",
              "middle"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind",
          "style"
        ],
        "title": "Screen Only",
        "type": "object"
      },
      "SearchMatch": {
        "additionalProperties": false,
        "properties": {
          "endSeconds": {
            "description": "End of the matching transcript sentence, in seconds. Null for title matches.",
            "nullable": true,
            "type": "number"
          },
          "field": {
            "enum": [
              "title",
              "transcript"
            ],
            "type": "string"
          },
          "matchedTokens": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "snippet": {
            "description": "Plain-text matching excerpt",
            "type": "string"
          },
          "startSeconds": {
            "description": "Start of the matching transcript sentence, in seconds. Null for title matches.",
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "field",
          "snippet",
          "matchedTokens",
          "startSeconds",
          "endSeconds"
        ],
        "type": "object"
      },
      "SearchVideoResult": {
        "additionalProperties": false,
        "properties": {
          "matches": {
            "items": {
              "$ref": "#/components/schemas/SearchMatch"
            },
            "type": "array"
          },
          "video": {
            "$ref": "#/components/schemas/VideoListItem"
          }
        },
        "required": [
          "video",
          "matches"
        ],
        "type": "object"
      },
      "SearchVideosResponse": {
        "additionalProperties": false,
        "properties": {
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/SearchVideoResult"
            },
            "type": "array"
          }
        },
        "required": [
          "results",
          "pagination"
        ],
        "type": "object"
      },
      "Sentence": {
        "additionalProperties": false,
        "description": "A sentence from the transcript with timestamps",
        "properties": {
          "endSeconds": {
            "description": "Sentence end time in seconds",
            "example": 2.3,
            "minimum": 0,
            "type": "number"
          },
          "startSeconds": {
            "description": "Sentence start time in seconds",
            "example": 0.5,
            "minimum": 0,
            "type": "number"
          },
          "text": {
            "description": "Sentence text",
            "example": "Hello and welcome to this tutorial.",
            "type": "string"
          }
        },
        "required": [
          "text",
          "startSeconds",
          "endSeconds"
        ],
        "type": "object"
      },
      "SetBackgroundMusicRequest": {
        "description": "Set the video's background music from either your own uploaded audio (`sourceId`) or Tella's curated catalog (`presetId`), or change the current track's volume or name",
        "properties": {
          "name": {
            "description": "Optional display name for the track. Defaults to the preset's name when `presetId` is given.",
            "example": "Calm Product Tour",
            "type": "string"
          },
          "presetId": {
            "description": "Preset ID of a curated Tella music track, from a `default` item of type `music` in `GET /v1/library`. Nothing to upload. Mutually exclusive with `sourceId`. Omit both to keep the current track and change only its `volume` or `name`.",
            "example": "calm-product-tour",
            "type": "string"
          },
          "sourceId": {
            "description": "Audio source ID from `POST /v1/sources` (`kind: \"audio\"`). Mutually exclusive with `presetId`. Omit both to keep the current track and change only its `volume` or `name`.",
            "example": "su_abc123def456",
            "type": "string"
          },
          "volume": {
            "description": "Track volume from 0 (silent) to 1 (full volume). Defaults to 0.2 for a new track, and to the current track's volume when neither `sourceId` nor `presetId` is given.",
            "example": 0.2,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          }
        },
        "type": "object"
      },
      "SetVideoThumbnailRequest": {
        "additionalProperties": false,
        "description": "Request body for setting a video's thumbnail. Provide exactly one of sourceId (uploaded image) or inpointMs (frame from the video).",
        "properties": {
          "inpointMs": {
            "description": "Pick a video frame as the thumbnail: time in ms on the video's playback timeline (cuts applied, cumulative across clips). Clears any previously uploaded thumbnail image. Mutually exclusive with sourceId.",
            "example": 4500,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "sourceId": {
            "description": "Use an uploaded image as the thumbnail. Source ID from POST /v1/sources (kind: 'image'); upload the image bytes to the source's uploadUrl first. Mutually exclusive with inpointMs.",
            "example": "su_abc123def456",
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SetVideoThumbnailResponse": {
        "additionalProperties": false,
        "description": "The thumbnail that was set",
        "properties": {
          "customThumbnailURL": {
            "description": "CDN URL of the uploaded thumbnail image. Only present when the thumbnail was set from a sourceId.",
            "example": "https://ucarecdn.com/12345678-abcd-4ef0-9012-3456789abcde/",
            "type": "string"
          },
          "inpointMs": {
            "description": "The thumbnail frame time in ms. Only present when the thumbnail was set from an inpointMs.",
            "example": 4500,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ShapeBorder": {
        "nullable": true,
        "properties": {
          "color": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#FFFFFFFF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "width": {
            "description": "Artboard pixels, drawn inside the outline.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "color",
          "width"
        ],
        "type": "object"
      },
      "ShapeBorderOutput": {
        "additionalProperties": false,
        "nullable": true,
        "properties": {
          "color": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#FFFFFFFF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "width": {
            "description": "Artboard pixels, drawn inside the outline.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "color",
          "width"
        ],
        "type": "object"
      },
      "ShapeType": {
        "description": "The outline, stretched to fill the overlay box: a non-square box makes a rectangle or an oval. `path` draws the overlay's own `path`.",
        "enum": [
          "square",
          "circle",
          "triangle",
          "diamond",
          "star",
          "hexagon",
          "arrow",
          "path"
        ],
        "type": "string"
      },
      "SideBySideLayout": {
        "additionalProperties": false,
        "description": "Camera and screen side by side. Combi (all ratios). Landscape splits horizontally (`position: left/right`, style regular/even/overlap/perspective); portrait and square split vertically 50/50 (`position: top/bottom` for the camera half, `style: even` only). Note that `even` crops the screen recording to fill its half; see `style`.",
        "properties": {
          "kind": {
            "enum": [
              "side-by-side"
            ],
            "type": "string"
          },
          "position": {
            "description": "Where the camera sits. `left`/`right` on landscape clips; `top`/`bottom` on portrait and square clips.",
            "enum": [
              "left",
              "right",
              "top",
              "bottom"
            ],
            "type": "string"
          },
          "size": {
            "description": "Camera size. Required when `style: \"overlap\"`; ignored otherwise.",
            "enum": [
              "S",
              "M",
              "L"
            ],
            "type": "string"
          },
          "style": {
            "description": "`regular` weights camera and screen unevenly, `even` splits 50/50, `overlap` lets the camera bleed over the screen edge (and requires `size`), `perspective` angles the camera and screen toward each other (landscape only). Portrait and square clips support `even` only. `regular` and `overlap` scale the whole screen recording to fit its panel; `even` fills each half edge to edge and center-crops the screen to that half-canvas box (roughly half its width on a landscape canvas), with no `screenFit`/letterbox option. Avoid `even` for terminals, code, spreadsheets or other dense screen content unless you check the result with a clip frame. In the editor's layout picker these are 'Split Left/Right' (regular), 'Split Left/Right Overlap' (overlap, size M or L), 'Split Left/Right Small' (overlap, size S) and 'Split Left/Right 50/50' (even); users often call Overlap 'overlay'.",
            "enum": [
              "regular",
              "even",
              "overlap",
              "perspective"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind",
          "position",
          "style"
        ],
        "title": "Side by Side",
        "type": "object"
      },
      "SilenceRange": {
        "additionalProperties": false,
        "description": "A contiguous range of silent audio, in ms on the clip's playback timeline (cuts applied) — pass ranges directly to the cut endpoint. Silences already removed by cuts are not reported.",
        "properties": {
          "durationMs": {
            "example": 800,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "startTimeMs": {
            "description": "Start of the silence, in ms on the clip's playback timeline (cuts applied)",
            "example": 4500,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "startTimeMs",
          "durationMs"
        ],
        "type": "object"
      },
      "SocialAccount": {
        "additionalProperties": false,
        "properties": {
          "connected": {
            "description": "False when the account needs reconnecting in Tella (Settings → Connections) before it can publish",
            "type": "boolean"
          },
          "destinations": {
            "description": "Where this account can publish",
            "items": {
              "enum": [
                "youtube",
                "youtube_shorts",
                "linkedin",
                "x",
                "instagram_post",
                "instagram_reel",
                "instagram_story",
                "facebook_post",
                "facebook_story"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "Pass as `accountId` to POST /v1/videos/{id}/publish",
            "type": "string"
          },
          "name": {
            "description": "The account's name in Tella: the one the user gave it, else its name on the platform",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "destinations",
          "connected"
        ],
        "type": "object"
      },
      "SourceWaveformResponse": {
        "additionalProperties": false,
        "description": "Audio waveform data for a source, in BBC audiowaveform JSON format. Use the `data` array to render a custom waveform visualization.",
        "properties": {
          "bits": {
            "example": 8,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "channels": {
            "example": 1,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "data": {
            "description": "Raw audio level data (BBC audiowaveform format)",
            "items": {
              "type": "number"
            },
            "type": "array"
          },
          "length": {
            "example": 12345,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "sampleRate": {
            "example": 48000,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "samplesPerPixel": {
            "example": 256,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "version": {
            "example": 2,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "required": [
          "version",
          "channels",
          "sampleRate",
          "samplesPerPixel",
          "bits",
          "length",
          "data"
        ],
        "type": "object"
      },
      "SplitClipRequest": {
        "additionalProperties": false,
        "description": "Request body for splitting a clip in two",
        "properties": {
          "atMs": {
            "description": "Where to split, in ms on the clip's playback timeline (cuts applied, the same timeline as the transcript). At least 200 ms from either end of the clip.",
            "example": 12000,
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "atMs"
        ],
        "type": "object"
      },
      "SplitClipResponse": {
        "additionalProperties": false,
        "description": "Response shape for splitting a clip",
        "properties": {
          "clips": {
            "description": "The two clips in playback order: the original clip, now ending at the split, and the new clip that continues from it.",
            "items": {
              "$ref": "#/components/schemas/Clip"
            },
            "type": "array"
          }
        },
        "required": [
          "clips"
        ],
        "type": "object"
      },
      "StartAgentChatRequest": {
        "properties": {
          "name": {
            "description": "The new video's name. Only used without `videoId`; left out, the prompt's start names it.",
            "example": "Launch recap",
            "maxLength": 120,
            "type": "string"
          },
          "prompt": {
            "description": "What the agent should do, in full: it is all the agent knows. Sent as if the user had typed it in the video's agent chat.",
            "example": "Import https://www.youtube.com/watch?v=dQw4w9WgXcQ, cut it to the best 60 seconds and add captions.",
            "maxLength": 20000,
            "minLength": 1,
            "type": "string"
          },
          "videoId": {
            "description": "A video you can edit. Leave it out to start the chat in a new, empty video.",
            "example": "vid_abc123def456",
            "type": "string"
          }
        },
        "required": [
          "prompt"
        ],
        "type": "object"
      },
      "StartAgentChatResponse": {
        "additionalProperties": false,
        "properties": {
          "chatId": {
            "example": "achat_abc123def456",
            "type": "string"
          },
          "url": {
            "description": "Opens the chat in the video's editor",
            "example": "https://www.tella.tv/video/vid_abc123def456/edit?agentChat=achat_abc123def456",
            "type": "string"
          },
          "videoId": {
            "example": "vid_abc123def456",
            "type": "string"
          }
        },
        "required": [
          "videoId",
          "chatId",
          "url"
        ],
        "type": "object"
      },
      "StartImportRequest": {
        "additionalProperties": false,
        "properties": {
          "scroll": {
            "description": "Record a scrolling web page as video instead of a still (default false). Ignored for social posts and video links.",
            "type": "boolean"
          },
          "url": {
            "description": "A public web page, a single post on X, Instagram, LinkedIn or TikTok, or a link to a single video on YouTube, X, Instagram or TikTok. A missing scheme defaults to HTTPS.",
            "example": "https://tella.com",
            "minLength": 1,
            "type": "string"
          },
          "video": {
            "description": "Omit to download every video link, and X and Instagram `/p/` posts that hold a video. `false` captures the link's page or card instead; `true` downloads a post without checking first that it holds one.",
            "type": "boolean"
          },
          "videoId": {
            "description": "Save into this video's own library instead of your private library. You must be able to edit it. Required for video downloads.",
            "example": "vid_abc123def456",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "StoryboardResponse": {
        "additionalProperties": false,
        "description": "Signed CDN URL plus the grid layout of the requested 4x4 WebP storyboard. Returned only when `?response=json` is set; otherwise the endpoint redirects to the URL with a 302.",
        "properties": {
          "columns": {
            "description": "Tiles per row",
            "example": 4,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "intervalMs": {
            "description": "Spacing between tiles in ms. Tile i (row-major) shows the frame at `startTimeMs + i * intervalMs`.",
            "example": 5000,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "rows": {
            "description": "Tile rows",
            "example": 4,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "url": {
            "description": "Signed CDN URL of the WebP sheet",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "url",
          "columns",
          "rows",
          "intervalMs"
        ],
        "type": "object"
      },
      "SubtitlePreset": {
        "additionalProperties": false,
        "properties": {
          "captionStyle": {
            "$ref": "#/components/schemas/CaptionStyle"
          },
          "name": {
            "type": "string"
          },
          "presetId": {
            "description": "Pass this ID to PUT /v1/videos/{id}/subtitle-preset",
            "example": "default:spotlight",
            "type": "string"
          },
          "scope": {
            "enum": [
              "default",
              "personal"
            ],
            "type": "string"
          }
        },
        "required": [
          "presetId",
          "name",
          "scope",
          "captionStyle"
        ],
        "type": "object"
      },
      "SuccessResponse": {
        "additionalProperties": false,
        "description": "Standard success response for operations that don't return data",
        "properties": {
          "status": {
            "description": "Operation status",
            "enum": [
              "ok"
            ],
            "example": "ok",
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "TVPresenterLayout": {
        "additionalProperties": false,
        "description": "Today-show layout: presenter on one side, screen on the other. Combi (landscape) only.",
        "properties": {
          "kind": {
            "enum": [
              "tv-presenter"
            ],
            "type": "string"
          },
          "position": {
            "enum": [
              "left",
              "right"
            ],
            "type": "string"
          },
          "style": {
            "description": "`regular` is the standard today-show framing, `full` puts the screen fullscreen behind the presenter, `overlap` tightens the camera-screen overlap.",
            "enum": [
              "regular",
              "full",
              "overlap"
            ],
            "type": "string"
          }
        },
        "required": [
          "kind",
          "position",
          "style"
        ],
        "title": "TV Presenter",
        "type": "object"
      },
      "Tag": {
        "additionalProperties": false,
        "description": "A tag used to categorize videos",
        "properties": {
          "color": {
            "$ref": "#/components/schemas/TagColor"
          },
          "description": {
            "description": "Optional tag description",
            "example": "Product demo recordings",
            "type": "string"
          },
          "id": {
            "description": "Unique tag identifier",
            "example": "tag_abc123def456",
            "type": "string"
          },
          "name": {
            "description": "Tag name",
            "example": "Demo",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/TagScope"
          }
        },
        "required": [
          "id",
          "name",
          "scope",
          "color",
          "description"
        ],
        "type": "object"
      },
      "TagColor": {
        "description": "Tag color as a hex value",
        "example": "#6366f1",
        "pattern": "^#(?:[0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$",
        "type": "string"
      },
      "TagScope": {
        "description": "Tag visibility: workspace tags are shared with everyone in the workspace, private tags are only visible to their creator",
        "enum": [
          "workspace",
          "private"
        ],
        "example": "workspace",
        "type": "string"
      },
      "TextOverlayBackground": {
        "description": "Background behind a text overlay, in the same object shape as a clip background.",
        "properties": {
          "color": {
            "description": "Hex color string. Required when type = 'solid'. Transparent backgrounds use #00000000.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "type": {
            "description": "Background variant. Text overlays take a solid background; the other `ClipBackground` variants are not supported behind text.",
            "enum": [
              "solid"
            ],
            "example": "solid",
            "type": "string"
          }
        },
        "required": [
          "type",
          "color"
        ],
        "type": "object"
      },
      "TextOverlayBackgroundOutput": {
        "additionalProperties": false,
        "description": "Background behind a text overlay, in the same object shape as a clip background.",
        "properties": {
          "color": {
            "description": "Hex color string. Required when type = 'solid'. Transparent backgrounds use #00000000.",
            "example": "#5E51F8FF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "type": {
            "description": "Background variant. Text overlays take a solid background; the other `ClipBackground` variants are not supported behind text.",
            "enum": [
              "solid"
            ],
            "example": "solid",
            "type": "string"
          }
        },
        "required": [
          "type",
          "color"
        ],
        "type": "object"
      },
      "TextOverlayBackgroundPadding": {
        "description": "Extra room around the text inside its background, as a fraction of the font size added on every side (0.5 at an 80px font adds 40px). 0 is the standard padding. No effect without a visible background.",
        "example": 0.25,
        "maximum": 1,
        "minimum": 0,
        "type": "number"
      },
      "TextOverlayBackgroundShape": {
        "description": "Shape of the solid background behind the text.",
        "enum": [
          "none",
          "regular",
          "squircle"
        ],
        "example": "squircle",
        "type": "string"
      },
      "TextOverlayFontFamily": {
        "description": "One of Tella's catalog font families — the same list the editor's font picker offers.",
        "enum": [
          "Inter",
          "Roboto Mono",
          "Archivo",
          "Barlow",
          "Caveat",
          "DM Sans",
          "Figtree",
          "Lora",
          "Merriweather",
          "Montserrat",
          "Nunito Sans",
          "Open Sans",
          "Oswald",
          "Playfair Display",
          "Poppins",
          "Raleway",
          "Roboto",
          "Roboto Flex",
          "Source Sans 3",
          "Space Grotesk"
        ],
        "example": "Inter",
        "type": "string"
      },
      "TextOverlayFontId": {
        "description": "A custom font from the private or workspace library: the `id` of a `font` item from GET /v1/library?type=font, such as one uploaded with POST /v1/sources (`kind: font`) and POST /v1/library. Sets the overlay's font family to that font. Don't combine with `fontFamily`.",
        "example": "media_abc123def456",
        "minLength": 1,
        "type": "string"
      },
      "TextOverlayOutline": {
        "description": "Color of the outline (stroke) drawn around the letters, or null for no outline.",
        "example": "#000000FF",
        "nullable": true,
        "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
        "type": "string"
      },
      "TextOverlayShadow": {
        "description": "Drop shadow, matching the editor's Shadow menu. It falls from the background box when the text has one, else from the letters.",
        "enum": [
          "none",
          "subtle",
          "deep"
        ],
        "example": "subtle",
        "type": "string"
      },
      "TextOverlayTextAlign": {
        "description": "Horizontal alignment of the text inside its overlay box.",
        "enum": [
          "left",
          "center",
          "right"
        ],
        "example": "center",
        "type": "string"
      },
      "TextPreset": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "example": "Label",
            "type": "string"
          },
          "presetId": {
            "description": "Pass this ID as `presetId` when adding or updating a text overlay",
            "example": "default:label",
            "type": "string"
          },
          "scope": {
            "description": "`default` for Tella's built-in styles, `personal` for presets saved by the authenticated user",
            "enum": [
              "default",
              "personal"
            ],
            "type": "string"
          },
          "style": {
            "$ref": "#/components/schemas/TextPresetStyle"
          }
        },
        "required": [
          "presetId",
          "name",
          "scope",
          "style"
        ],
        "type": "object"
      },
      "TextPresetStyle": {
        "additionalProperties": false,
        "description": "Everything about a text overlay except its text, timing and placement.",
        "properties": {
          "background": {
            "$ref": "#/components/schemas/TextOverlayBackgroundOutput"
          },
          "backgroundPadding": {
            "$ref": "#/components/schemas/TextOverlayBackgroundPadding"
          },
          "backgroundShape": {
            "$ref": "#/components/schemas/TextOverlayBackgroundShape"
          },
          "color": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#FFFFFFFF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "fontFamily": {
            "example": "Space Grotesk",
            "type": "string"
          },
          "fontSizeScale": {
            "description": "Font size relative to the editor's default (7.5% of the canvas's shorter side): 1 is the default, 0.6 a caption, 1.4 a headline. Presets are video-independent, so this is a scale rather than pixels; adding an overlay resolves it for the video it lands on.",
            "example": 0.6,
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "fontWeight": {
            "example": 600,
            "type": "number"
          },
          "fontWidth": {
            "example": 100,
            "type": "number"
          },
          "outline": {
            "$ref": "#/components/schemas/TextOverlayOutline"
          },
          "textAlign": {
            "$ref": "#/components/schemas/TextOverlayTextAlign"
          }
        },
        "required": [
          "fontFamily",
          "fontWeight",
          "fontWidth",
          "color",
          "fontSizeScale",
          "textAlign",
          "background",
          "backgroundShape",
          "outline",
          "backgroundPadding"
        ],
        "type": "object"
      },
      "ThumbnailFormats": {
        "additionalProperties": false,
        "description": "Thumbnail URLs in various formats for a specific size",
        "properties": {
          "gif": {
            "description": "Animated GIF thumbnail URL (medium and small sizes only)",
            "example": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.gif",
            "format": "uri",
            "type": "string"
          },
          "jpg": {
            "description": "JPEG thumbnail URL",
            "example": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.jpg",
            "format": "uri",
            "type": "string"
          },
          "mp4": {
            "description": "Animated MP4 thumbnail URL (medium and small sizes only)",
            "example": "https://cdn.tella.tv/thumbnails/vid_abc123/640x360.mp4",
            "format": "uri",
            "type": "string"
          },
          "webp": {
            "description": "WebP thumbnail URL",
            "example": "https://cdn.tella.tv/thumbnails/vid_abc123/1920x1080.webp",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ThumbnailResponse": {
        "additionalProperties": false,
        "description": "Signed CDN URL for the requested thumbnail. Returned only when `?response=json` is set; otherwise the endpoint redirects to the URL with a 302.",
        "properties": {
          "url": {
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "Thumbnails": {
        "additionalProperties": false,
        "description": "Video thumbnails organized by size, with format options for each",
        "properties": {
          "large": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ThumbnailFormats"
              }
            ],
            "description": "Large thumbnails (1280x720 landscape, 720x1280 portrait, 1080x1080 square)"
          },
          "medium": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ThumbnailFormats"
              }
            ],
            "description": "Medium thumbnails with animated formats (640x360 landscape, 360x640 portrait, 640x640 square)"
          },
          "small": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ThumbnailFormats"
              }
            ],
            "description": "Small thumbnails with animated formats (320x180 landscape, 180x320 portrait, 320x320 square)"
          },
          "xl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ThumbnailFormats"
              }
            ],
            "description": "Extra large thumbnails (1920x1080 landscape, 1080x1920 portrait, 1080x1080 square)"
          }
        },
        "type": "object"
      },
      "TimelineClip": {
        "additionalProperties": false,
        "description": "A compact clip entry in the video's ordered timeline",
        "properties": {
          "contents": {
            "$ref": "#/components/schemas/TimelineContentCounts"
          },
          "durationMs": {
            "description": "Clip playback duration in ms, with cuts removed",
            "minimum": 0,
            "type": "number"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "order": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "timelineStartMs": {
            "description": "Clip start time in ms on the complete video timeline",
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "order",
          "timelineStartMs",
          "durationMs",
          "contents"
        ],
        "type": "object"
      },
      "TimelineClipDetails": {
        "additionalProperties": false,
        "description": "Only the explicitly requested detail fields are present",
        "properties": {
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipBackgroundOutput"
              }
            ]
          },
          "blurs": {
            "items": {
              "$ref": "#/components/schemas/ClipMask"
            },
            "type": "array"
          },
          "clipId": {
            "type": "string"
          },
          "cuts": {
            "description": "Raw cut definitions in ms of the source recording, matching get_clip",
            "items": {
              "$ref": "#/components/schemas/CutOutput"
            },
            "type": "array"
          },
          "highlights": {
            "items": {
              "$ref": "#/components/schemas/ClipMask"
            },
            "type": "array"
          },
          "layoutSceneType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LayoutSceneType"
              }
            ],
            "description": "The clip's scene type, which decides the layouts it can use. Present when `clipSettings` or `layouts` is requested"
          },
          "layouts": {
            "items": {
              "$ref": "#/components/schemas/ClipLayout"
            },
            "type": "array"
          },
          "microphoneVolume": {
            "description": "Clip microphone volume override: a number when overridden, null when following the video, absent when there is no microphone audio",
            "maximum": 2,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "overlays": {
            "items": {
              "$ref": "#/components/schemas/ClipOverlay"
            },
            "type": "array"
          },
          "soundEffects": {
            "items": {
              "$ref": "#/components/schemas/ClipSoundEffect"
            },
            "type": "array"
          },
          "studioSound": {
            "description": "Effective Studio Sound state: the video-level switch minus this clip's opt-out",
            "type": "boolean"
          },
          "systemAudioVolume": {
            "description": "Clip system audio override: a number when overridden, null when following the video, absent when there is no system audio",
            "maximum": 2,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "textOverlays": {
            "items": {
              "$ref": "#/components/schemas/ClipTextOverlay"
            },
            "type": "array"
          },
          "transcript": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimelineTranscript"
              }
            ]
          },
          "words": {
            "description": "Words in ms on the clip playback timeline. Includes hidden words so indices remain usable with transcript editing endpoints. Null when transcript data could not be read.",
            "items": {
              "$ref": "#/components/schemas/TranscriptWord"
            },
            "nullable": true,
            "type": "array"
          },
          "zooms": {
            "items": {
              "$ref": "#/components/schemas/ClipZoom"
            },
            "type": "array"
          }
        },
        "required": [
          "clipId"
        ],
        "type": "object"
      },
      "TimelineContentCounts": {
        "additionalProperties": false,
        "properties": {
          "blurs": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "cuts": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "highlights": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "layouts": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "overlays": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "soundEffects": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "textOverlays": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transcriptWords": {
            "description": "Number of transcript words on the clip playback timeline, including hidden words. Null when transcript data could not be read.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "zooms": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "cuts",
          "layouts",
          "zooms",
          "blurs",
          "highlights",
          "overlays",
          "textOverlays",
          "soundEffects",
          "transcriptWords"
        ],
        "type": "object"
      },
      "TimelineDetails": {
        "additionalProperties": false,
        "properties": {
          "clips": {
            "items": {
              "$ref": "#/components/schemas/TimelineClipDetails"
            },
            "type": "array"
          },
          "video": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TimelineVideoDetails"
              }
            ]
          }
        },
        "type": "object"
      },
      "TimelineTranscript": {
        "additionalProperties": false,
        "description": "Null when the clip has no speech or its transcript is unavailable",
        "nullable": true,
        "properties": {
          "text": {
            "description": "Visible transcript text",
            "type": "string"
          },
          "wordCount": {
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "text",
          "wordCount"
        ],
        "type": "object"
      },
      "TimelineVideo": {
        "additionalProperties": false,
        "description": "Minimal video timeline summary",
        "properties": {
          "aspectRatio": {
            "example": "16:9",
            "type": "string"
          },
          "description": {
            "maxLength": 5000,
            "type": "string"
          },
          "dimensions": {
            "additionalProperties": false,
            "properties": {
              "height": {
                "description": "Canvas height in pixels",
                "type": "number"
              },
              "width": {
                "description": "Canvas width in pixels",
                "type": "number"
              }
            },
            "required": [
              "width",
              "height"
            ],
            "type": "object"
          },
          "durationMs": {
            "description": "Total playback duration in ms",
            "minimum": 0,
            "type": "number"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "updatedAt": {
            "description": "ISO-8601 timestamp of the video version represented",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "updatedAt",
          "aspectRatio",
          "dimensions",
          "durationMs"
        ],
        "type": "object"
      },
      "TimelineVideoDetails": {
        "additionalProperties": false,
        "properties": {
          "backgroundMusic": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackgroundMusic"
              }
            ],
            "nullable": true
          },
          "chapters": {
            "items": {
              "$ref": "#/components/schemas/Chapter"
            },
            "type": "array"
          },
          "settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoSettings"
              }
            ]
          }
        },
        "type": "object"
      },
      "Transcript": {
        "additionalProperties": false,
        "description": "Video transcript data",
        "properties": {
          "language": {
            "description": "Detected language code (e.g., 'en', 'es')",
            "example": "en",
            "nullable": true,
            "type": "string"
          },
          "sentences": {
            "description": "Sentences with timestamps",
            "items": {
              "$ref": "#/components/schemas/Sentence"
            },
            "nullable": true,
            "type": "array"
          },
          "status": {
            "description": "Transcript generation status",
            "enum": [
              "ready",
              "processing",
              "failed"
            ],
            "example": "ready",
            "type": "string"
          },
          "text": {
            "description": "Full transcript text",
            "example": "Hello and welcome to this tutorial...",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "status",
          "language",
          "text",
          "sentences"
        ],
        "type": "object"
      },
      "TranscriptSentence": {
        "additionalProperties": false,
        "properties": {
          "endTimeMs": {
            "description": "End of the last word, in ms on the clip's playback timeline",
            "example": 4200,
            "minimum": 0,
            "type": "number"
          },
          "firstIndex": {
            "description": "Index of the sentence's first word",
            "example": 12,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "lastIndex": {
            "description": "Index of the sentence's last word",
            "example": 19,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "startTimeMs": {
            "description": "Start of the first word, in ms on the clip's playback timeline",
            "example": 1500,
            "minimum": 0,
            "type": "number"
          },
          "text": {
            "description": "The sentence's words joined with spaces",
            "example": "Hello and welcome to the demo.",
            "type": "string"
          }
        },
        "required": [
          "firstIndex",
          "lastIndex",
          "startTimeMs",
          "endTimeMs",
          "text"
        ],
        "type": "object"
      },
      "TranscriptWord": {
        "additionalProperties": false,
        "description": "A single transcribed word",
        "properties": {
          "breakAfter": {
            "description": "Whether a subtitle break is forced after this word, so the next word always starts a new subtitle block",
            "example": false,
            "type": "boolean"
          },
          "endTimeMs": {
            "description": "Word end time, in ms on the clip's playback timeline",
            "example": 1800,
            "minimum": 0,
            "type": "number"
          },
          "hidden": {
            "description": "Whether the word is hidden by an edit",
            "example": false,
            "type": "boolean"
          },
          "index": {
            "description": "Stable index of the word in the source recording",
            "example": 12,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "keepWithNext": {
            "description": "Whether this word's subtitle block is kept together with the next word across punctuation and pauses. The lines-per-block limit still applies and `breakAfter` wins.",
            "example": false,
            "type": "boolean"
          },
          "startTimeMs": {
            "description": "Word start time, in ms on the clip's playback timeline",
            "example": 1500,
            "minimum": 0,
            "type": "number"
          },
          "text": {
            "description": "Word text",
            "example": "Hello",
            "type": "string"
          }
        },
        "required": [
          "index",
          "startTimeMs",
          "endTimeMs",
          "text",
          "hidden",
          "breakAfter",
          "keepWithNext"
        ],
        "type": "object"
      },
      "TranscriptWordEdit": {
        "additionalProperties": false,
        "description": "A change to a single transcript word, addressed by its transcript index. Set exactly one of `text`, `hidden`, `breakAfter` or `keepWithNext` (`text` may also come with `hidden: false`).",
        "maxProperties": 2,
        "minProperties": 2,
        "properties": {
          "breakAfter": {
            "description": "`true` forces a subtitle break after the word, so the next word starts a new subtitle block; `false` removes it. Leaves the word's text and visibility alone.",
            "example": true,
            "type": "boolean"
          },
          "hidden": {
            "description": "`true` hides the word from captions and subtitles without touching the audio; `false` shows it again. A correction already made to the word is preserved.",
            "example": true,
            "type": "boolean"
          },
          "index": {
            "description": "Index of the word to edit, as reported by the clip's transcript.",
            "example": 12,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "keepWithNext": {
            "description": "`true` keeps the word's subtitle block together with the next word even where punctuation or a pause would end it; `false` restores the automatic split. The lines-per-block limit still applies, and `breakAfter` wins.",
            "example": true,
            "type": "boolean"
          },
          "text": {
            "description": "Corrected text for the word. Replaces what the transcript, captions and subtitles say, and unhides the word. Must not be empty — hide a word with `hidden` instead.",
            "example": "Tella",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "index"
        ],
        "type": "object"
      },
      "TranscriptWordRange": {
        "description": "A range of words to cut, identified by word indices from the clip's transcript.",
        "properties": {
          "fromWordIndex": {
            "description": "Index of the first word to cut (inclusive), as reported by the transcript.",
            "example": 12,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "toWordIndex": {
            "description": "Index of the last word to cut (inclusive), as reported by the transcript.",
            "example": 17,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "fromWordIndex",
          "toWordIndex"
        ],
        "type": "object"
      },
      "TransitionStyle": {
        "description": "How one thing gives way to the next: `smooth` eases across the change, `hard_cut` swaps instantly.",
        "enum": [
          "smooth",
          "hard_cut"
        ],
        "example": "smooth",
        "type": "string"
      },
      "TrimRequest": {
        "additionalProperties": false,
        "description": "Trim parameters. Use either startTime+endTime for time range or chapterIndex for chapter extraction.",
        "properties": {
          "chapterIndex": {
            "description": "Index of the chapter to extract (0-based). Cannot be combined with startTime/endTime. Get chapter count from the video's chapters array.",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "endTime": {
            "description": "End time in seconds for the trimmed video. Required when using time range trim.",
            "example": 60,
            "minimum": 0,
            "type": "number"
          },
          "startTime": {
            "description": "Start time in seconds for the trimmed video. Required when using time range trim.",
            "example": 10.5,
            "minimum": 0,
            "type": "number"
          }
        },
        "type": "object"
      },
      "UncutTranscriptWord": {
        "additionalProperties": false,
        "description": "A word of the clip's recording, kept or cut",
        "properties": {
          "cut": {
            "description": "Present (true) when a cut removed the word",
            "enum": [
              true
            ],
            "type": "boolean"
          },
          "endTimeMs": {
            "description": "End of the word on the clip's playback timeline. Absent for a cut word.",
            "example": 1800,
            "minimum": 0,
            "type": "number"
          },
          "index": {
            "description": "Stable index of the word in the source recording",
            "example": 12,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "sourceEndTimeMs": {
            "description": "End of the word, in ms into the clip's source recording",
            "example": 8540,
            "minimum": 0,
            "type": "number"
          },
          "sourceStartTimeMs": {
            "description": "Start of the word, in ms into the clip's source recording",
            "example": 8220,
            "minimum": 0,
            "type": "number"
          },
          "startTimeMs": {
            "description": "Start of the word on the clip's playback timeline. Absent for a cut word.",
            "example": 1500,
            "minimum": 0,
            "type": "number"
          },
          "text": {
            "description": "Word text",
            "example": "Hello",
            "type": "string"
          }
        },
        "required": [
          "index",
          "text",
          "sourceStartTimeMs",
          "sourceEndTimeMs"
        ],
        "type": "object"
      },
      "UpdateClipFiltersRequest": {
        "description": "Pass at least one of camera or screen. Setting a filter for an absent recording is an error. Only supplied fields change; without a preset they adjust the current filter. Filters are per clip.",
        "properties": {
          "camera": {
            "description": "Camera filter. Pass null to remove it.",
            "nullable": true,
            "properties": {
              "contrast": {
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              },
              "exposure": {
                "description": "Brightness; ±1 is two stops. Zero is unchanged.",
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              },
              "lut": {
                "description": "Applies on top of the sliders. Pass null to remove only the LUT.",
                "nullable": true,
                "properties": {
                  "id": {
                    "description": "Built-in LUT ID or saved LUT library item ID.",
                    "type": "string"
                  },
                  "intensity": {
                    "description": "Keeps the current intensity for the same LUT when omitted; otherwise defaults to 1.",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "preset": {
                "description": "Replaces the entire filter, including its LUT, before other fields adjust it. golden-hour, vivid, noir, dreamy and night are only available for camera and uploaded footage, not screen recordings.",
                "enum": [
                  "none",
                  "warm",
                  "cool",
                  "crisp",
                  "fade",
                  "mono",
                  "golden-hour",
                  "vivid",
                  "noir",
                  "dreamy",
                  "night"
                ],
                "type": "string"
              },
              "saturation": {
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              },
              "temperature": {
                "description": "-1 is cooler; 1 is warmer.",
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              },
              "tint": {
                "description": "-1 is greener; 1 is more magenta.",
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              }
            },
            "type": "object"
          },
          "screen": {
            "description": "Screen recording or uploaded-footage filter. Pass null to remove it.",
            "nullable": true,
            "properties": {
              "contrast": {
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              },
              "exposure": {
                "description": "Brightness; ±1 is two stops. Zero is unchanged.",
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              },
              "lut": {
                "description": "Applies on top of the sliders. Pass null to remove only the LUT.",
                "nullable": true,
                "properties": {
                  "id": {
                    "description": "Built-in LUT ID or saved LUT library item ID.",
                    "type": "string"
                  },
                  "intensity": {
                    "description": "Keeps the current intensity for the same LUT when omitted; otherwise defaults to 1.",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "preset": {
                "description": "Replaces the entire filter, including its LUT, before other fields adjust it. golden-hour, vivid, noir, dreamy and night are only available for camera and uploaded footage, not screen recordings.",
                "enum": [
                  "none",
                  "warm",
                  "cool",
                  "crisp",
                  "fade",
                  "mono",
                  "golden-hour",
                  "vivid",
                  "noir",
                  "dreamy",
                  "night"
                ],
                "type": "string"
              },
              "saturation": {
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              },
              "temperature": {
                "description": "-1 is cooler; 1 is warmer.",
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              },
              "tint": {
                "description": "-1 is greener; 1 is more magenta.",
                "maximum": 1,
                "minimum": -1,
                "type": "number"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "UpdateClipLayoutRequest": {
        "additionalProperties": false,
        "description": "Update an existing layout on a clip",
        "properties": {
          "cameraStyle": {
            "description": "The camera's frame shape, as the editor's Camera style picker sets it, overriding the named layout's own: `circle`, `square`, `portrait`, `none` (a rectangle in the camera slot's aspect, rounded by the clip's `corners`, e.g. a squircle when corners are `squircle`), `cutout` (the presenter cut out of the camera feed with no frame or room, in the layout's camera position — e.g. `camera-bubble` with `style: full` and `position: bottom-left` for a full-screen recording with a cut-out presenter in the corner; it switches pop-out off), `blob` or `blob-outline`. It shapes the camera bubble and the pop-out frame. Null clears it so the layout's own shape applies; omitted leaves it as it is. Needs a camera recording and a named layout that frames the camera (not cut-out, screen-only or custom; on a custom layout set `presentation.shape`). On the base layout it is accepted without `layout`.",
            "enum": [
              "none",
              "circle",
              "square",
              "portrait",
              "cutout",
              "blob",
              "blob-outline"
            ],
            "nullable": true,
            "type": "string"
          },
          "crop": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutCrop"
              }
            ],
            "description": "Crop the clip's screen recording for this layout only — the editor's crop modal on “This layout only”. Other layouts keep following the clip's crop; `null` makes this layout follow it again. Masks that start in the layout stay anchored to their content, and a custom layout's screen box keeps its on-canvas scale unless the same request writes `layout` geometry. Needs a screen recording or an uploaded video in the clip. To crop the recording across the whole clip use auto-crop.",
            "nullable": true
          },
          "durationMs": {
            "maximum": 9007199254740991,
            "minimum": 200,
            "type": "integer"
          },
          "layout": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipLayoutShape"
              }
            ]
          },
          "media": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipMedia"
              }
            ],
            "description": "Replace the layout's media content. Only valid on time-ranged layouts; rejected on the base (clip-spanning) layout."
          },
          "popOut": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipPopOut"
              }
            ],
            "description": "Switch the camera pop-out on (an object merges over the current settings) or off (null). Omitted leaves it as it is, except that a cut-out layout or `cameraStyle: cutout` drops it. On the base layout this, `cameraStyle` and `crop` are accepted without `layout`.",
            "nullable": true
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transitionStyle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LayoutTransitionStyle"
              }
            ],
            "description": "Only valid on time-ranged layouts; rejected on the base (clip-spanning) layout."
          }
        },
        "type": "object"
      },
      "UpdateClipMaskRequest": {
        "additionalProperties": false,
        "description": "Update an existing mask. Times are in ms on the clip's playback timeline (cuts applied).",
        "properties": {
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaskDimensions"
              }
            ]
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "intensity": {
            "description": "Strength from 0 to 1. Blur: 0 is the standard blur and 1 blurs three times as heavily; the content stays fully hidden at every value (defaults to 0). Highlight: how dark the area outside the highlight goes, 0 = no dimming, 1 = black (defaults to 0.7).",
            "example": 0.7,
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaskPoint"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "`smooth` fades the mask in and out, `hard_cut` pops it. New masks start on `hard_cut`."
          }
        },
        "type": "object"
      },
      "UpdateClipOverlayRequest": {
        "additionalProperties": false,
        "description": "Update an existing overlay",
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ],
            "description": "Animate how the overlay enters and leaves. An omitted `intro`/`outro` keeps that side. Null removes the animation, so `transition` plays again.",
            "nullable": true
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the overlay in at its start and out at its end, `hard_cut` pops it in and out. An `animation` replaces it while set; setting `transition` without `animation` removes the animation."
          },
          "zIndex": {
            "description": "Stacking position among the clip's image, video and text overlays: 0 is the backmost. `depth` applies first — a `behind_presenter` overlay stays behind the presenter whatever its zIndex — so the order only matters among overlays at the same depth. Lottie overlays share the stack but aren't listed, so listed values can skip a number. A value past the top moves the overlay to the front; the other overlays keep their relative order.",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "UpdateClipRequest": {
        "additionalProperties": false,
        "description": "Request body for updating a clip. At least one field must be provided.",
        "minProperties": 1,
        "properties": {
          "animatedCursor": {
            "description": "Draw an animated cursor from captured mouse data on this clip's screen recording. Returns 400 when the clip has no screen recording.",
            "example": true,
            "type": "boolean"
          },
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipBackground"
              }
            ]
          },
          "borderStyle": {
            "description": "Border and shadow around the clip's frames — the editor Style panel's Border style. `solid-shadow-left` and `solid-shadow-right` are the solid shadow and its direction; `snake` and `glass` (a liquid glass rim) keep the clip's current settings for that style, else the editor's default. Applies to this clip only, across all of its layouts.",
            "enum": [
              "none",
              "subtle-shadow",
              "deep-shadow",
              "transparent",
              "solid-shadow-left",
              "solid-shadow-right",
              "snake",
              "glass"
            ],
            "example": "subtle-shadow",
            "type": "string"
          },
          "cameraCrop": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipCameraCrop"
              }
            ],
            "description": "Crop the camera across every layout of this clip, like the editor's camera crop on \"All layouts in this clip\": per-layout camera crops are dropped, masks on the camera stay on their content and custom layouts keep the camera's on-canvas scale. null removes the crop. Returns 400 when the clip has no camera.",
            "nullable": true
          },
          "cameraFocusPoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipCameraFocusPoint"
              }
            ],
            "description": "Reframe the camera across every layout of this clip, like the editor's Crop → Adjust camera on \"All layouts in this clip\": per-layout focus points are dropped. null resets it to the middle. The layout and the camera frame's position and size don't change. Returns 400 when the clip has no camera.",
            "nullable": true
          },
          "corners": {
            "description": "Corner rounding of the clip's frames (screen and camera) — the editor Style panel's Shape: `none` (square), `regular` (rounded) or `squircle` (very rounded). Applies to this clip only, like the editor's \"Apply to this clip only\", across all of its layouts. A circle camera stays a circle.",
            "enum": [
              "none",
              "regular",
              "squircle"
            ],
            "example": "squircle",
            "type": "string"
          },
          "cuts": {
            "description": "Replaces the clip's cuts. Total cut duration must be less than `maxDurationSeconds`.",
            "items": {
              "$ref": "#/components/schemas/Cut"
            },
            "type": "array"
          },
          "keepCameraFaceCentered": {
            "description": "Pan the camera to keep the presenter's face centered as they move, the editor's Keep face centered; it takes over from `cameraFocusPoint` while on. Returns 400 when turned on for a clip with no camera or a camera without face detections (made when a recording is processed).",
            "example": true,
            "type": "boolean"
          },
          "microphoneVolume": {
            "description": "Microphone volume for this clip only, overriding the video's `microphoneVolume`. 1 is the recorded level, 0 mutes it, 2 doubles it. Pass null to clear the override so the clip follows the video again. Null and 0 are no-ops when the clip has no microphone audio. Other values return 400 when the clip has no microphone audio to control, i.e. whenever a read reports the field as absent.",
            "example": 0.4,
            "maximum": 2,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "mirrorCamera": {
            "description": "Mirror (flip horizontally) this clip's camera, like the editor's Mirror camera. Applies to this clip only. Returns 400 when the clip has no camera.",
            "example": true,
            "type": "boolean"
          },
          "name": {
            "description": "New clip name",
            "example": "Updated intro",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "order": {
            "description": "New position of the clip within the video",
            "example": 2,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "studioSound": {
            "description": "Per-clip Studio Sound opt-out. `false` disables enhanced audio for this clip while the video-level switch (see `PATCH /v1/videos/{id}` `studioSound`) stays on; `true` re-enables it.",
            "example": false,
            "type": "boolean"
          },
          "systemAudioVolume": {
            "description": "System audio (screen or uploaded footage) volume for this clip only, overriding the video's `systemAudioVolume`. Same range and null-to-clear behaviour as `microphoneVolume`. Null and 0 are no-ops when the clip has no system audio. Other values return 400 when the clip has no such audio to control, i.e. whenever a read reports the field as absent.",
            "example": 1.5,
            "maximum": 2,
            "minimum": 0,
            "nullable": true,
            "type": "number"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipTransition"
              }
            ],
            "description": "How this clip enters from the previous one. `default` drops the override and follows the video's `defaultClipTransition`."
          }
        },
        "type": "object"
      },
      "UpdateClipShapeOverlayRequest": {
        "additionalProperties": false,
        "description": "Update an existing shape overlay. Only provided fields change.",
        "minProperties": 1,
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ],
            "description": "Animate how the shape enters and leaves. An omitted `intro`/`outro` keeps that side. Null removes the animation, so `transition` plays again.",
            "nullable": true
          },
          "border": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShapeBorder"
              }
            ],
            "description": "A line just inside the outline, or null for none."
          },
          "corners": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ],
            "description": "How a square's corners are rounded."
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "fill": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClipBackground"
              }
            ],
            "description": "What fills the shape, cut to its outline: any clip background except `ambient`. A solid `#00000000` leaves only the border."
          },
          "path": {
            "description": "A custom outline as SVG path data (`d`) in a 0–100 box; it stretches with the overlay box. Sending it makes the shape a `path`. Closed subpaths (ending in Z) are filled; an open path shows only its `border`, drawn centred on the line.",
            "example": "M50 0 L100 100 L0 100 Z",
            "maxLength": 10000,
            "minLength": 1,
            "type": "string"
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "shadow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayShadow"
              }
            ]
          },
          "shapeType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ShapeType"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied).",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the shape in and out, `hard_cut` pops it. An `animation` replaces it while set; setting `transition` without `animation` removes the animation."
          },
          "zIndex": {
            "description": "Stacking position among the clip's image, video and text overlays: 0 is the backmost. `depth` applies first — a `behind_presenter` overlay stays behind the presenter whatever its zIndex — so the order only matters among overlays at the same depth. Lottie overlays share the stack but aren't listed, so listed values can skip a number. A value past the top moves the overlay to the front; the other overlays keep their relative order.",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "UpdateClipSoundEffectRequest": {
        "additionalProperties": false,
        "description": "Update an existing sound effect",
        "properties": {
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "volume": {
            "description": "Playback volume (0 = muted, 1 = original).",
            "minimum": 0,
            "type": "number"
          }
        },
        "type": "object"
      },
      "UpdateClipTextOverlayRequest": {
        "additionalProperties": false,
        "description": "Update an existing text overlay",
        "minProperties": 1,
        "properties": {
          "animation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayAnimationInput"
              }
            ],
            "description": "Animate how the overlay enters and leaves. An omitted `intro`/`outro` keeps that side. Null removes the animation, so `transition` plays again.",
            "nullable": true
          },
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackground"
              }
            ]
          },
          "backgroundPadding": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundPadding"
              }
            ]
          },
          "backgroundShape": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayBackgroundShape"
              }
            ]
          },
          "color": {
            "description": "Hex color in #RRGGBB or #RRGGBBAA form. Responses use uppercase #RRGGBBAA.",
            "example": "#FFFFFFFF",
            "pattern": "^#(?:[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
            "type": "string"
          },
          "depth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepth"
              }
            ]
          },
          "depthChanges": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDepthChanges"
              }
            ]
          },
          "dimensions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayDimensions"
              }
            ]
          },
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "fontFamily": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayFontFamily"
              }
            ]
          },
          "fontId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayFontId"
              }
            ]
          },
          "fontSize": {
            "description": "Font size in artboard pixels.",
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "fontWeight": {
            "maximum": 1000,
            "minimum": 1,
            "type": "number"
          },
          "fontWidth": {
            "exclusiveMinimum": true,
            "minimum": 0,
            "type": "number"
          },
          "outline": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayOutline"
              }
            ],
            "description": "Set an outline color, or null to remove the outline."
          },
          "point": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OverlayPoint"
              }
            ]
          },
          "presetId": {
            "description": "Restyle the overlay with a preset from GET /v1/text-presets; its text, timing and placement stay. Style fields sent alongside override the preset's values.",
            "example": "default:label",
            "minLength": 1,
            "type": "string"
          },
          "shadow": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayShadow"
              }
            ]
          },
          "startTimeMs": {
            "description": "Start time. Milliseconds on the clip playback timeline (with cuts applied) — the same timeline as the cut transcript.",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "text": {
            "minLength": 1,
            "type": "string"
          },
          "textAlign": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TextOverlayTextAlign"
              }
            ]
          },
          "transition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "Intro/outro animation: `smooth` fades the text in at its start and out at its end, `hard_cut` pops it in and out. An `animation` replaces it while set; setting `transition` without `animation` removes the animation."
          },
          "zIndex": {
            "description": "Stacking position among the clip's image, video and text overlays: 0 is the backmost. `depth` applies first — a `behind_presenter` overlay stays behind the presenter whatever its zIndex — so the order only matters among overlays at the same depth. Lottie overlays share the stack but aren't listed, so listed values can skip a number. A value past the top moves the overlay to the front; the other overlays keep their relative order.",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "UpdateClipTranscriptWordsRequest": {
        "additionalProperties": false,
        "description": "Correct what the transcript says. Word edits change the transcript, captions and subtitles only — they never change the audio or the clip's timing. Use cut-by-transcript to remove spoken words from the video. The whole batch is applied atomically, so a request never changes only some of its words. A `500` does not by itself mean nothing changed — the words can land and a later step of the commit still fail — so treat the outcome as either fully applied or not applied at all, and re-send the identical request to settle it; every edit assigns a word outright, so re-sending is safe.",
        "properties": {
          "words": {
            "description": "Word edits to apply, at most one per word index and at most 100 per request. Indices are stable across cuts, but a word that is currently cut out of the clip cannot be edited.",
            "items": {
              "$ref": "#/components/schemas/TranscriptWordEdit"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "words"
        ],
        "type": "object"
      },
      "UpdateClipTranscriptWordsResponse": {
        "additionalProperties": false,
        "description": "The words that were edited, after the edit.",
        "properties": {
          "words": {
            "description": "The edited words in their new state, in the order they were sent.",
            "items": {
              "$ref": "#/components/schemas/TranscriptWord"
            },
            "type": "array"
          }
        },
        "required": [
          "words"
        ],
        "type": "object"
      },
      "UpdateClipZoomRequest": {
        "additionalProperties": false,
        "description": "Update an existing zoom",
        "properties": {
          "durationMs": {
            "exclusiveMinimum": true,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "focusPoint": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZoomFocusPoint"
              }
            ]
          },
          "introTransition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "How the zoom enters: `smooth` (the default) animates in, `hard_cut` jumps straight in.",
            "example": "hard_cut"
          },
          "outroTransition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "How the zoom leaves: `smooth` (the default) animates out, `hard_cut` jumps straight back."
          },
          "scale": {
            "description": "Magnification factor (1 = no zoom, 3.5 = max).",
            "example": 2,
            "maximum": 3.5,
            "minimum": 1,
            "type": "number"
          },
          "startTimeMs": {
            "description": "Start time in ms on the clip's playback timeline (cuts applied)",
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "type": {
            "description": "`manualZoom` zooms into a fixed `focusPoint` on the screen. `trackingZoom` automatically follows the cursor in the screen recording.",
            "enum": [
              "manualZoom",
              "trackingZoom"
            ],
            "example": "manualZoom",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdatePlaylistGroupRequest": {
        "description": "Request to rename and/or reorder a playlist group",
        "properties": {
          "emoji": {
            "description": "Unicode emoji character for the group",
            "example": "📁",
            "maxLength": 10,
            "type": "string"
          },
          "name": {
            "description": "New playlist group name",
            "example": "Growth",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "position": {
            "description": "0-based position in the sidebar section (0 = top), counted across groups and ungrouped playlists",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "UpdatePlaylistRequest": {
        "additionalProperties": false,
        "description": "Request body for updating a playlist. At least one field must be provided.",
        "minProperties": 1,
        "properties": {
          "description": {
            "description": "Playlist description",
            "example": "Updated description for the playlist",
            "maxLength": 5000,
            "type": "string"
          },
          "groupId": {
            "description": "Move the playlist into a playlist group (pg_...), or null to remove it from its group. The group's visibility must match the playlist's.",
            "example": "pg_abc123def456",
            "nullable": true,
            "type": "string"
          },
          "linkScope": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PlaylistLinkScope"
              }
            ],
            "description": "Access level"
          },
          "name": {
            "description": "Playlist name",
            "example": "Updated Playlist Name",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "password": {
            "description": "Password for viewing. Required when linkScope is 'password', ignored otherwise.",
            "example": "newpassword",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "position": {
            "description": "0-based position within the playlist's container (0 = top): its group when grouped, otherwise the sidebar section across groups and ungrouped playlists. Combine with groupId to move into a group at a specific position.",
            "example": 0,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          },
          "searchEngineIndexingEnabled": {
            "description": "Allow search engine indexing",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "UpdateTagRequest": {
        "additionalProperties": false,
        "description": "Request body for updating a tag. At least one field is required.",
        "properties": {
          "color": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagColor"
              }
            ]
          },
          "description": {
            "description": "New tag description",
            "maxLength": 5000,
            "type": "string"
          },
          "name": {
            "description": "New tag name",
            "example": "API",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateTagResponse": {
        "additionalProperties": false,
        "description": "The updated tag",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/Tag"
          }
        },
        "required": [
          "tag"
        ],
        "type": "object"
      },
      "UpdateVideoRequest": {
        "additionalProperties": false,
        "description": "Request body for updating a video. At least one field must be provided.",
        "minProperties": 1,
        "properties": {
          "allowedEmbedDomains": {
            "description": "Restrict embedding to these domains only (Premium feature). Empty array allows all domains.",
            "example": [
              "example.com",
              "mysite.org"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "autoRatio": {
            "description": "The editor's Setup → Size → Auto. true sizes the canvas from the video's recording (the first clip with a screen recording, else the first clip's video or image) with the layout's padding equal on all sides, and keeps it following the recording as layouts change; when the canvas changes ratio class, layouts are remapped like a dimensions change. false pins the current size. Pass either autoRatio or dimensions, not both.",
            "example": true,
            "type": "boolean"
          },
          "callToAction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoCallToAction"
              }
            ],
            "description": "The video's own call-to-action button on its share page. Label and url are trimmed; url must start with https:// or http://. null removes the video's own button, after which the workspace's default (`settings.workspaceCallToAction`) shows if there is one. Never changes the workspace default.",
            "nullable": true
          },
          "callToActionsHidden": {
            "description": "true hides every call-to-action button on the share page, the workspace defaults included; false shows them again.",
            "type": "boolean"
          },
          "captionFontFamily": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionFontFamily"
              }
            ]
          },
          "captionFontSize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionFontSize"
              }
            ]
          },
          "captionFontWeight": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionFontWeight"
              }
            ]
          },
          "captionGrouping": {
            "description": "How subtitle text is grouped: sentence chunks or one word at a time.",
            "enum": [
              "chunked",
              "singleWord"
            ],
            "type": "string"
          },
          "captionLinesPerBlock": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionLinesPerBlock"
              }
            ]
          },
          "captionPosition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionPosition"
              }
            ],
            "description": "Normalized subtitle position; null restores automatic placement. Applies if subtitles are enabled on the video.",
            "nullable": true
          },
          "captionSize": {
            "description": "Subtitle text size. Applies if subtitles are enabled on the video.",
            "enum": [
              "small",
              "medium",
              "large"
            ],
            "type": "string"
          },
          "captionStyle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionStyle"
              }
            ]
          },
          "captionsDefaultEnabled": {
            "description": "Show subtitles to viewers by default",
            "example": true,
            "type": "boolean"
          },
          "commentEmailsEnabled": {
            "description": "Send email notifications for new comments",
            "example": false,
            "type": "boolean"
          },
          "commentsEnabled": {
            "description": "Allow viewers to comment",
            "example": true,
            "type": "boolean"
          },
          "cursor": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CursorSettingsUpdate"
              }
            ]
          },
          "customThumbnailURL": {
            "description": "Custom thumbnail image URL",
            "example": "https://example.com/custom-thumbnail.jpg",
            "format": "uri",
            "type": "string"
          },
          "defaultClipTransition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "How each clip enters from the previous one. A clip can override it with its own `transition`; see `PATCH /v1/videos/{id}/clips/{clipId}`.",
            "example": "hard_cut"
          },
          "defaultPlaybackRate": {
            "description": "Default playback speed (0.5-2.0). Viewers can still adjust.",
            "example": 1,
            "maximum": 2,
            "minimum": 0.5,
            "type": "number"
          },
          "description": {
            "description": "Video description",
            "example": "Updated description for the video",
            "maxLength": 5000,
            "type": "string"
          },
          "dimensions": {
            "description": "Canvas size in pixels. Changing it also remaps every clip and section layout to a ratio-appropriate equivalent (clips using a custom layout fall back to a standard one), exactly like switching size in the editor's Setup → Size. No-op when the video already has the requested size. The editor's presets: 1920x1080 (16:9), 1920x1200 (16:10), 1440x1080 (4:3), 1080x1080 (1:1), 1080x1350 (4:5), 1080x1920 (9:16).",
            "example": {
              "height": 1920,
              "width": 1080
            },
            "properties": {
              "height": {
                "description": "Canvas height in pixels",
                "example": 1920,
                "maximum": 4096,
                "minimum": 16,
                "type": "number"
              },
              "width": {
                "description": "Canvas width in pixels",
                "example": 1080,
                "maximum": 4096,
                "minimum": 16,
                "type": "number"
              }
            },
            "required": [
              "width",
              "height"
            ],
            "type": "object"
          },
          "downloadsEnabled": {
            "description": "Allow viewers to download the video",
            "example": true,
            "type": "boolean"
          },
          "keystrokes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeystrokeSettingsUpdate"
              }
            ]
          },
          "layoutAnimationStyle": {
            "description": "How layout transitions animate, gentlest to snappiest. Changing it leaves zooms as they were: when zooms have no `zoomAnimationStyle` of their own, they keep the previous style.",
            "enum": [
              "gentlest",
              "gentle",
              "relaxed",
              "smooth",
              "moderate",
              "brisk",
              "focused",
              "snappy",
              "punchy",
              "snappiest"
            ],
            "example": "snappy",
            "type": "string"
          },
          "linkScope": {
            "description": "Access level: public (anyone with link), private (org members only), password (requires password), embedonly (only viewable when embedded)",
            "enum": [
              "public",
              "private",
              "password",
              "embedonly"
            ],
            "example": "public",
            "type": "string"
          },
          "microphoneVolume": {
            "description": "Volume of the microphone (webcam) audio across the whole video. 1 is the recorded level, 0 mutes it, 2 doubles it. Clips that set their own `microphoneVolume` keep it — change or clear those with `PATCH /v1/videos/{id}/clips/{clipId}`.",
            "example": 1.2,
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          },
          "motionBlur": {
            "description": "Blur fast zoom, pan, and cursor movement. Defaults on for new videos.",
            "example": true,
            "type": "boolean"
          },
          "motionBlurAmount": {
            "description": "Motion blur strength, the editor's Motion blur slider: 0.1 (subtle) to 2 (strong), 1 is the default. Setting it turns motion blur on, so it can't be combined with `motionBlur: false`.",
            "example": 1.3,
            "maximum": 2,
            "minimum": 0.1,
            "type": "number"
          },
          "name": {
            "description": "Video title",
            "example": "Updated Video Title",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "password": {
            "description": "Password for viewing. Required when linkScope is 'password', ignored otherwise.",
            "example": "secretpassword",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "publishDateEnabled": {
            "description": "Show publish date on video page",
            "example": true,
            "type": "boolean"
          },
          "rawDownloadsEnabled": {
            "description": "Allow viewers to download raw source files",
            "example": false,
            "type": "boolean"
          },
          "searchEngineIndexingEnabled": {
            "description": "Allow search engines to index the video page",
            "example": true,
            "type": "boolean"
          },
          "secondaryCallToAction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoCallToAction"
              }
            ],
            "description": "The video's own second button, next to `callToAction`. Same rules; null removes it.",
            "nullable": true
          },
          "shrinkCameraDuringZooms": {
            "description": "Shrink camera bubbles while a zoom is active. Defaults on.",
            "example": true,
            "type": "boolean"
          },
          "studioSound": {
            "description": "Studio Sound (AI audio enhancement) master switch. Enabling it also starts generating the enhanced audio tracks in the background; playback and exports use them once ready and fall back to the raw audio until then.",
            "example": true,
            "type": "boolean"
          },
          "studioSoundLevel": {
            "description": "Studio Sound level, as in the editor's Studio Voice panel. `low` and `high` turn Studio Sound on at that strength and regenerate the enhanced audio tracks when the level changes; `off` turns it off. Pass this or `studioSound`, or both when they agree.",
            "enum": [
              "off",
              "low",
              "high"
            ],
            "example": "low",
            "type": "string"
          },
          "subtitlesEnabled": {
            "description": "Allow viewers to enable subtitles",
            "example": true,
            "type": "boolean"
          },
          "systemAudioVolume": {
            "description": "Volume of the system/screen audio across the whole video — everything that is not microphone audio. 1 is the recorded level, 0 mutes it, 2 doubles it. Clips that set their own `systemAudioVolume` keep it — change or clear those with `PATCH /v1/videos/{id}/clips/{clipId}`.",
            "example": 0.4,
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          },
          "transcriptsEnabled": {
            "description": "Show transcript panel to viewers",
            "example": true,
            "type": "boolean"
          },
          "viewCountEnabled": {
            "description": "Show view count on video page",
            "example": true,
            "type": "boolean"
          },
          "zoomAnimationStyle": {
            "description": "How zooms ease in, out, and between each other, gentlest to snappiest. Independent of `layoutAnimationStyle`.",
            "enum": [
              "gentlest",
              "gentle",
              "relaxed",
              "smooth",
              "moderate",
              "brisk",
              "focused",
              "snappy",
              "punchy",
              "snappiest"
            ],
            "example": "brisk",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateWebhookEndpointRequest": {
        "additionalProperties": false,
        "description": "Fields to update on a webhook endpoint",
        "minProperties": 1,
        "properties": {
          "disabled": {
            "description": "Pause or resume delivery to the endpoint",
            "type": "boolean"
          },
          "filterTypes": {
            "description": "New event types to deliver. Pass a non-empty array to replace the filter, or null to clear it so every event type is delivered. Omit to leave it unchanged.",
            "example": [
              "video.created",
              "export.ready"
            ],
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "nullable": true,
            "type": "array"
          },
          "url": {
            "description": "New delivery URL",
            "example": "https://example.com/webhooks/tella",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateWebhookEndpointResponse": {
        "additionalProperties": false,
        "description": "The updated webhook endpoint",
        "properties": {
          "endpoint": {
            "$ref": "#/components/schemas/WebhookEndpoint"
          }
        },
        "required": [
          "endpoint"
        ],
        "type": "object"
      },
      "VideoAnalyticsResponse": {
        "additionalProperties": false,
        "description": "Viewing analytics for one video",
        "properties": {
          "ctaClicks": {
            "description": "Clicks on the video's call-to-action button in the range",
            "example": 37,
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "endDate": {
            "description": "The endDate that was applied, or null for no upper bound",
            "nullable": true,
            "type": "string"
          },
          "geoBreakdown": {
            "description": "Plays by country, up to 100 rows by views",
            "items": {
              "$ref": "#/components/schemas/AnalyticsGeoPoint"
            },
            "type": "array"
          },
          "referrerBreakdown": {
            "description": "Plays by referring domain, up to 100 rows by views",
            "items": {
              "$ref": "#/components/schemas/AnalyticsReferrerPoint"
            },
            "type": "array"
          },
          "retention": {
            "description": "Watch counts per one-percent slice of the video, ascending",
            "items": {
              "$ref": "#/components/schemas/AnalyticsRetentionPoint"
            },
            "type": "array"
          },
          "startDate": {
            "description": "The startDate that was applied, or null for no lower bound",
            "nullable": true,
            "type": "string"
          },
          "summary": {
            "$ref": "#/components/schemas/AnalyticsSummary"
          },
          "timezone": {
            "description": "Time zone used to bucket viewsOverTime",
            "example": "UTC",
            "type": "string"
          },
          "trafficSources": {
            "description": "Plays by UTM source, medium and campaign, up to 100 rows by views",
            "items": {
              "$ref": "#/components/schemas/AnalyticsTrafficSourcePoint"
            },
            "type": "array"
          },
          "videoId": {
            "example": "vid_abc123def456",
            "type": "string"
          },
          "viewsOverTime": {
            "description": "Plays per day, ascending",
            "items": {
              "$ref": "#/components/schemas/AnalyticsViewsPoint"
            },
            "type": "array"
          }
        },
        "required": [
          "videoId",
          "startDate",
          "endDate",
          "timezone",
          "summary",
          "viewsOverTime",
          "retention",
          "geoBreakdown",
          "referrerBreakdown",
          "trafficSources",
          "ctaClicks"
        ],
        "type": "object"
      },
      "VideoCallToAction": {
        "description": "A call-to-action button on the video's share page.",
        "properties": {
          "label": {
            "description": "Button text",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "url": {
            "description": "Where the button links, starting https:// or http://",
            "example": "https://docs.tella.com/help",
            "type": "string"
          }
        },
        "required": [
          "label",
          "url"
        ],
        "type": "object"
      },
      "VideoCallToActionOutput": {
        "additionalProperties": false,
        "description": "A call-to-action button on the video's share page.",
        "properties": {
          "label": {
            "description": "Button text",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "url": {
            "description": "Where the button links, starting https:// or http://",
            "example": "https://docs.tella.com/help",
            "type": "string"
          }
        },
        "required": [
          "label",
          "url"
        ],
        "type": "object"
      },
      "VideoDetail": {
        "additionalProperties": false,
        "description": "Detailed information about a video including chapters, transcript, and exports",
        "properties": {
          "aspectRatio": {
            "description": "Video aspect ratio (e.g., '16:9', '9:16')",
            "example": "16:9",
            "type": "string"
          },
          "autoRatio": {
            "description": "Whether the canvas is in Auto ratio (sized from the video's recording and following it as layouts change), the editor's Setup → Size → Auto.",
            "example": false,
            "type": "boolean"
          },
          "backgroundMusic": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackgroundMusic"
              }
            ],
            "description": "Video-wide track that loops over the whole video and is included in exports",
            "nullable": true
          },
          "chapters": {
            "description": "Video chapters/sections",
            "items": {
              "$ref": "#/components/schemas/Chapter"
            },
            "type": "array"
          },
          "clipIds": {
            "description": "Ordered IDs of the clips in the video. Use `/v1/videos/{id}/clips/{clipId}` to fetch each one.",
            "example": [
              "cl_abc123",
              "cl_def456"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "ISO 8601 datetime",
            "example": "2024-01-15T10:30:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "Video description",
            "example": "Learn how to create and share your first video",
            "maxLength": 5000,
            "type": "string"
          },
          "dimensions": {
            "additionalProperties": false,
            "description": "Canvas size in pixels",
            "example": {
              "height": 1080,
              "width": 1920
            },
            "properties": {
              "height": {
                "type": "number"
              },
              "width": {
                "type": "number"
              }
            },
            "required": [
              "width",
              "height"
            ],
            "type": "object"
          },
          "durationSeconds": {
            "description": "Video duration in seconds",
            "example": 125.5,
            "minimum": 0,
            "type": "number"
          },
          "exports": {
            "description": "Available exports and their status",
            "items": {
              "$ref": "#/components/schemas/ExportStatus"
            },
            "type": "array"
          },
          "id": {
            "description": "Unique video identifier",
            "example": "vid_abc123def456",
            "type": "string"
          },
          "links": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoLinks"
              }
            ],
            "description": "Related URLs for the video"
          },
          "name": {
            "description": "Video title",
            "example": "Getting Started with Tella",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "playlistIds": {
            "description": "IDs of playlists containing this video",
            "example": [
              "pl_abc123",
              "pl_def456"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "settings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoSettings"
              }
            ]
          },
          "thumbnails": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Thumbnails"
              }
            ],
            "description": "Available thumbnail URLs by format and resolution"
          },
          "transcript": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Transcript"
              }
            ]
          },
          "updatedAt": {
            "description": "ISO 8601 datetime",
            "example": "2024-01-15T14:45:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "views": {
            "description": "Total view count",
            "example": 1234,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "views",
          "aspectRatio",
          "dimensions",
          "autoRatio",
          "createdAt",
          "updatedAt",
          "durationSeconds",
          "chapters",
          "transcript",
          "thumbnails",
          "exports",
          "settings",
          "links",
          "playlistIds",
          "clipIds",
          "backgroundMusic"
        ],
        "type": "object"
      },
      "VideoEditOperation": {
        "description": "One timeline edit — an add, update, or remove. Operations may target different clips in the same video, and update/remove operations may reference a resource added earlier in the batch by that operation's operationId.",
        "discriminator": {
          "mapping": {
            "add_blur": "#/components/schemas/BatchAddBlurOperation",
            "add_highlight": "#/components/schemas/BatchAddHighlightOperation",
            "add_layout": "#/components/schemas/BatchAddLayoutOperation",
            "add_media_overlay": "#/components/schemas/BatchAddMediaOverlayOperation",
            "add_shape_overlay": "#/components/schemas/BatchAddShapeOverlayOperation",
            "add_sound_effect": "#/components/schemas/BatchAddSoundEffectOperation",
            "add_text_overlay": "#/components/schemas/BatchAddTextOverlayOperation",
            "add_zoom": "#/components/schemas/BatchAddZoomOperation",
            "remove_blur": "#/components/schemas/BatchRemoveBlurOperation",
            "remove_highlight": "#/components/schemas/BatchRemoveHighlightOperation",
            "remove_layout": "#/components/schemas/BatchRemoveLayoutOperation",
            "remove_media_overlay": "#/components/schemas/BatchRemoveMediaOverlayOperation",
            "remove_shape_overlay": "#/components/schemas/BatchRemoveShapeOverlayOperation",
            "remove_sound_effect": "#/components/schemas/BatchRemoveSoundEffectOperation",
            "remove_text_overlay": "#/components/schemas/BatchRemoveTextOverlayOperation",
            "remove_zoom": "#/components/schemas/BatchRemoveZoomOperation",
            "update_blur": "#/components/schemas/BatchUpdateBlurOperation",
            "update_highlight": "#/components/schemas/BatchUpdateHighlightOperation",
            "update_layout": "#/components/schemas/BatchUpdateLayoutOperation",
            "update_media_overlay": "#/components/schemas/BatchUpdateMediaOverlayOperation",
            "update_shape_overlay": "#/components/schemas/BatchUpdateShapeOverlayOperation",
            "update_sound_effect": "#/components/schemas/BatchUpdateSoundEffectOperation",
            "update_text_overlay": "#/components/schemas/BatchUpdateTextOverlayOperation",
            "update_zoom": "#/components/schemas/BatchUpdateZoomOperation"
          },
          "propertyName": "type"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/BatchAddSoundEffectOperation"
          },
          {
            "$ref": "#/components/schemas/BatchAddTextOverlayOperation"
          },
          {
            "$ref": "#/components/schemas/BatchAddZoomOperation"
          },
          {
            "$ref": "#/components/schemas/BatchAddBlurOperation"
          },
          {
            "$ref": "#/components/schemas/BatchAddHighlightOperation"
          },
          {
            "$ref": "#/components/schemas/BatchAddMediaOverlayOperation"
          },
          {
            "$ref": "#/components/schemas/BatchUpdateZoomOperation"
          },
          {
            "$ref": "#/components/schemas/BatchRemoveZoomOperation"
          },
          {
            "$ref": "#/components/schemas/BatchUpdateBlurOperation"
          },
          {
            "$ref": "#/components/schemas/BatchRemoveBlurOperation"
          },
          {
            "$ref": "#/components/schemas/BatchUpdateHighlightOperation"
          },
          {
            "$ref": "#/components/schemas/BatchRemoveHighlightOperation"
          },
          {
            "$ref": "#/components/schemas/BatchUpdateMediaOverlayOperation"
          },
          {
            "$ref": "#/components/schemas/BatchRemoveMediaOverlayOperation"
          },
          {
            "$ref": "#/components/schemas/BatchUpdateTextOverlayOperation"
          },
          {
            "$ref": "#/components/schemas/BatchRemoveTextOverlayOperation"
          },
          {
            "$ref": "#/components/schemas/BatchAddShapeOverlayOperation"
          },
          {
            "$ref": "#/components/schemas/BatchUpdateShapeOverlayOperation"
          },
          {
            "$ref": "#/components/schemas/BatchRemoveShapeOverlayOperation"
          },
          {
            "$ref": "#/components/schemas/BatchUpdateSoundEffectOperation"
          },
          {
            "$ref": "#/components/schemas/BatchRemoveSoundEffectOperation"
          },
          {
            "$ref": "#/components/schemas/BatchAddLayoutOperation"
          },
          {
            "$ref": "#/components/schemas/BatchUpdateLayoutOperation"
          },
          {
            "$ref": "#/components/schemas/BatchRemoveLayoutOperation"
          }
        ],
        "type": "object"
      },
      "VideoLinks": {
        "additionalProperties": false,
        "description": "URLs related to a video",
        "properties": {
          "embedPage": {
            "description": "URL for embedding the video",
            "example": "https://www.tella.tv/video/vid_abc123def456/embed",
            "format": "uri",
            "type": "string"
          },
          "viewPage": {
            "description": "URL to view the video on Tella",
            "example": "https://www.tella.tv/video/vid_abc123def456/view",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "viewPage",
          "embedPage"
        ],
        "type": "object"
      },
      "VideoListItem": {
        "additionalProperties": false,
        "description": "Video item in a list response",
        "properties": {
          "aspectRatio": {
            "description": "Video aspect ratio (e.g., '16:9', '9:16')",
            "example": "16:9",
            "type": "string"
          },
          "autoRatio": {
            "description": "Whether the canvas is in Auto ratio (sized from the video's recording and following it as layouts change), the editor's Setup → Size → Auto.",
            "example": false,
            "type": "boolean"
          },
          "createdAt": {
            "description": "ISO 8601 datetime",
            "example": "2024-01-15T10:30:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "Video description",
            "example": "Learn how to create and share your first video",
            "maxLength": 5000,
            "type": "string"
          },
          "dimensions": {
            "additionalProperties": false,
            "description": "Canvas size in pixels",
            "example": {
              "height": 1080,
              "width": 1920
            },
            "properties": {
              "height": {
                "type": "number"
              },
              "width": {
                "type": "number"
              }
            },
            "required": [
              "width",
              "height"
            ],
            "type": "object"
          },
          "id": {
            "description": "Unique video identifier",
            "example": "vid_abc123def456",
            "type": "string"
          },
          "links": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoLinks"
              }
            ],
            "description": "Related URLs for the video"
          },
          "name": {
            "description": "Video title",
            "example": "Getting Started with Tella",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "updatedAt": {
            "description": "ISO 8601 datetime",
            "example": "2024-01-15T14:45:00.000Z",
            "format": "date-time",
            "type": "string"
          },
          "views": {
            "description": "Total view count",
            "example": 1234,
            "maximum": 9007199254740991,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "views",
          "aspectRatio",
          "dimensions",
          "autoRatio",
          "createdAt",
          "updatedAt",
          "links"
        ],
        "type": "object"
      },
      "VideoSettings": {
        "additionalProperties": false,
        "description": "Video playback and access settings",
        "properties": {
          "allowedEmbedDomains": {
            "description": "Restrict embedding to these domains only (Premium feature). Empty array allows all domains.",
            "example": [
              "example.com",
              "mysite.org"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "callToAction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoCallToActionOutput"
              }
            ],
            "description": "The video's own call-to-action button on its share page. null when it has none, in which case `workspaceCallToAction` shows instead.",
            "nullable": true
          },
          "callToActionsHidden": {
            "description": "Every call-to-action button is hidden on the share page, the workspace defaults included.",
            "type": "boolean"
          },
          "captionFontFamily": {
            "$ref": "#/components/schemas/CaptionFontFamily"
          },
          "captionFontSize": {
            "$ref": "#/components/schemas/CaptionFontSize"
          },
          "captionFontWeight": {
            "$ref": "#/components/schemas/CaptionFontWeight"
          },
          "captionGrouping": {
            "description": "How subtitle text is grouped: sentence chunks or one word at a time.",
            "enum": [
              "chunked",
              "singleWord"
            ],
            "example": "chunked",
            "type": "string"
          },
          "captionLinesPerBlock": {
            "$ref": "#/components/schemas/CaptionLinesPerBlock"
          },
          "captionPosition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CaptionPosition"
              }
            ],
            "description": "Normalized subtitle position, or null for automatic placement. Applies if subtitles are enabled on the video.",
            "nullable": true
          },
          "captionSize": {
            "description": "Subtitle text size. Applies if subtitles are enabled on the video.",
            "enum": [
              "small",
              "medium",
              "large"
            ],
            "example": "medium",
            "type": "string"
          },
          "captionStyle": {
            "$ref": "#/components/schemas/CaptionStyle"
          },
          "captionsDefaultEnabled": {
            "description": "Show subtitles to viewers by default",
            "example": true,
            "type": "boolean"
          },
          "commentEmailsEnabled": {
            "description": "Send email notifications for new comments",
            "example": false,
            "type": "boolean"
          },
          "commentsEnabled": {
            "description": "Allow viewers to comment",
            "example": true,
            "type": "boolean"
          },
          "cursor": {
            "$ref": "#/components/schemas/CursorSettings"
          },
          "customThumbnailURL": {
            "description": "Custom thumbnail image URL",
            "example": "https://example.com/custom-thumbnail.jpg",
            "format": "uri",
            "nullable": true,
            "type": "string"
          },
          "defaultClipTransition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TransitionStyle"
              }
            ],
            "description": "How each clip enters from the previous one, unless the clip overrides it via its own `transition`.",
            "example": "hard_cut"
          },
          "defaultPlaybackRate": {
            "description": "Default playback speed (0.5-2.0). Viewers can still adjust.",
            "example": 1,
            "maximum": 2,
            "minimum": 0.5,
            "type": "number"
          },
          "downloadsEnabled": {
            "description": "Allow viewers to download the video",
            "example": true,
            "type": "boolean"
          },
          "keystrokes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeystrokeSettings"
              }
            ],
            "description": "The keystroke HUD, once someone has configured it on the video."
          },
          "layoutAnimationStyle": {
            "description": "How layout transitions animate, gentlest to snappiest. Zooms have their own `zoomAnimationStyle`. `custom` is a spring set outside the named styles.",
            "enum": [
              "gentlest",
              "gentle",
              "relaxed",
              "smooth",
              "moderate",
              "brisk",
              "focused",
              "snappy",
              "punchy",
              "snappiest",
              "custom"
            ],
            "example": "moderate",
            "type": "string"
          },
          "linkScope": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoSettingsLinkScope"
              }
            ],
            "description": "Current access level, including `org` for workspace-visible videos"
          },
          "microphoneVolume": {
            "description": "Volume of the microphone (webcam) audio across the video. 1 is the recorded level, 0 mutes it, 2 doubles it. A clip can override it for one of its sources.",
            "example": 1,
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          },
          "motionBlur": {
            "description": "Blur fast zoom, pan, and cursor movement. Defaults on for new videos.",
            "example": true,
            "type": "boolean"
          },
          "motionBlurAmount": {
            "description": "Motion blur strength, 0.1 (subtle) to 2 (strong); 1 is the default. Absent while motion blur is off.",
            "example": 1,
            "type": "number"
          },
          "publishDateEnabled": {
            "description": "Show publish date on video page",
            "example": true,
            "type": "boolean"
          },
          "rawDownloadsEnabled": {
            "description": "Allow viewers to download raw source files",
            "example": false,
            "type": "boolean"
          },
          "searchEngineIndexingEnabled": {
            "description": "Allow search engines to index the video page",
            "example": true,
            "type": "boolean"
          },
          "secondaryCallToAction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoCallToActionOutput"
              }
            ],
            "description": "The video's own second button, next to `callToAction`. null when it has none, in which case `workspaceSecondaryCallToAction` shows instead.",
            "nullable": true
          },
          "shrinkCameraDuringZooms": {
            "description": "Shrink camera bubbles while a zoom is active. Defaults on.",
            "example": true,
            "type": "boolean"
          },
          "studioSound": {
            "description": "Studio Sound (AI audio enhancement) master switch for the video. Individual clips can opt out via the clip's `studioSound` field.",
            "example": false,
            "type": "boolean"
          },
          "studioSoundLevel": {
            "description": "Studio Sound level, as in the editor's Studio Voice panel: `off`, `low` or `high`.",
            "enum": [
              "off",
              "low",
              "high"
            ],
            "example": "off",
            "type": "string"
          },
          "subtitlesEnabled": {
            "description": "Allow viewers to enable subtitles",
            "example": true,
            "type": "boolean"
          },
          "systemAudioVolume": {
            "description": "Volume of the system/screen audio across the video — everything that is not microphone audio. 1 is the recorded level, 0 mutes it, 2 doubles it. A clip can override it for one of its sources.",
            "example": 1,
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          },
          "thumbnailInpointMs": {
            "description": "Time in ms on the video's playback timeline of the frame picked as the thumbnail (set via `inpointMs`). Null when the thumbnail is an uploaded image or the default. A picked frame leaves `customThumbnailURL` null, so check this field to verify it.",
            "example": 12000,
            "maximum": 9007199254740991,
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "transcriptsEnabled": {
            "description": "Show transcript panel to viewers",
            "example": true,
            "type": "boolean"
          },
          "viewCountEnabled": {
            "description": "Show view count on video page",
            "example": true,
            "type": "boolean"
          },
          "workspaceCallToAction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoCallToActionOutput"
              }
            ],
            "description": "The workspace's default button (Settings → CTA button), shown when the video has no `callToAction` of its own. Read-only here.",
            "nullable": true
          },
          "workspaceSecondaryCallToAction": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VideoCallToActionOutput"
              }
            ],
            "description": "The workspace's default second button, shown when the video has no `secondaryCallToAction` of its own. Read-only here.",
            "nullable": true
          },
          "zoomAnimationStyle": {
            "description": "How zooms ease in, out, and between each other, gentlest to snappiest. Zooms follow `layoutAnimationStyle` until one is set. `custom` is a spring set outside the named styles.",
            "enum": [
              "gentlest",
              "gentle",
              "relaxed",
              "smooth",
              "moderate",
              "brisk",
              "focused",
              "snappy",
              "punchy",
              "snappiest",
              "custom"
            ],
            "example": "moderate",
            "type": "string"
          }
        },
        "required": [
          "defaultPlaybackRate",
          "captionsDefaultEnabled",
          "subtitlesEnabled",
          "captionStyle",
          "captionSize",
          "captionGrouping",
          "captionPosition",
          "captionFontFamily",
          "captionFontWeight",
          "captionFontSize",
          "captionLinesPerBlock",
          "transcriptsEnabled",
          "publishDateEnabled",
          "viewCountEnabled",
          "commentsEnabled",
          "commentEmailsEnabled",
          "downloadsEnabled",
          "rawDownloadsEnabled",
          "linkScope",
          "searchEngineIndexingEnabled",
          "allowedEmbedDomains",
          "customThumbnailURL",
          "thumbnailInpointMs",
          "studioSound",
          "studioSoundLevel",
          "defaultClipTransition",
          "microphoneVolume",
          "systemAudioVolume",
          "motionBlur",
          "shrinkCameraDuringZooms",
          "layoutAnimationStyle",
          "zoomAnimationStyle",
          "cursor",
          "callToAction",
          "secondaryCallToAction",
          "workspaceCallToAction",
          "workspaceSecondaryCallToAction",
          "callToActionsHidden"
        ],
        "type": "object"
      },
      "VideoSettingsLinkScope": {
        "description": "Current video access level. The read-only `org` value means the video is visible across its workspace; public updates intentionally do not accept that value.",
        "enum": [
          "public",
          "private",
          "org",
          "password",
          "embedonly"
        ],
        "example": "org",
        "type": "string"
      },
      "WebhookEndpoint": {
        "additionalProperties": false,
        "description": "A webhook subscription endpoint",
        "properties": {
          "createdAt": {
            "description": "When the endpoint was created",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
            "type": "string"
          },
          "disabled": {
            "description": "Whether delivery to this endpoint is disabled",
            "example": false,
            "type": "boolean"
          },
          "filterTypes": {
            "description": "Event types delivered to this endpoint, or null when no filter is set and every event type is delivered",
            "example": [
              "video.created",
              "export.ready"
            ],
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "id": {
            "description": "Unique identifier for the webhook endpoint",
            "example": "ep_abc123def456",
            "type": "string"
          },
          "updatedAt": {
            "description": "When the endpoint was last updated",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
            "type": "string"
          },
          "url": {
            "description": "The URL where webhook events are sent",
            "example": "https://example.com/webhooks/tella",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "id",
          "url",
          "filterTypes",
          "disabled",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "WebhookMessage": {
        "additionalProperties": false,
        "description": "A webhook message/event",
        "properties": {
          "eventType": {
            "description": "The type of event",
            "example": "video.created",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the message",
            "example": "msg_abc123",
            "type": "string"
          },
          "payload": {
            "description": "The event payload data"
          },
          "timestamp": {
            "description": "ISO 8601 timestamp when the event occurred",
            "example": "2024-01-15T10:30:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "eventType",
          "payload",
          "timestamp"
        ],
        "type": "object"
      },
      "WorkspaceAnalyticsResponse": {
        "additionalProperties": false,
        "description": "Viewing analytics aggregated across the workspace's videos. Everything except topVideos covers the whole scope; only topVideos is paginated.",
        "properties": {
          "endDate": {
            "description": "The endDate that was applied, or null for no upper bound",
            "nullable": true,
            "type": "string"
          },
          "geoBreakdown": {
            "description": "Plays by country, up to 100 rows by views",
            "items": {
              "$ref": "#/components/schemas/AnalyticsGeoPoint"
            },
            "type": "array"
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          },
          "referrerBreakdown": {
            "description": "Plays by referring domain, up to 100 rows by views",
            "items": {
              "$ref": "#/components/schemas/AnalyticsReferrerPoint"
            },
            "type": "array"
          },
          "retention": {
            "description": "Watch counts per one-percent slice of the video, ascending",
            "items": {
              "$ref": "#/components/schemas/AnalyticsRetentionPoint"
            },
            "type": "array"
          },
          "scope": {
            "$ref": "#/components/schemas/AnalyticsScope"
          },
          "startDate": {
            "description": "The startDate that was applied, or null for no lower bound",
            "nullable": true,
            "type": "string"
          },
          "summary": {
            "$ref": "#/components/schemas/AnalyticsSummary"
          },
          "timezone": {
            "description": "Time zone used to bucket viewsOverTime",
            "example": "UTC",
            "type": "string"
          },
          "topVideos": {
            "description": "Videos ranked by plays in the range, descending",
            "items": {
              "$ref": "#/components/schemas/AnalyticsTopVideo"
            },
            "type": "array"
          },
          "viewsOverTime": {
            "description": "Plays per day, ascending",
            "items": {
              "$ref": "#/components/schemas/AnalyticsViewsPoint"
            },
            "type": "array"
          }
        },
        "required": [
          "scope",
          "startDate",
          "endDate",
          "timezone",
          "summary",
          "viewsOverTime",
          "retention",
          "geoBreakdown",
          "referrerBreakdown",
          "topVideos",
          "pagination"
        ],
        "type": "object"
      },
      "ZoomFocusPoint": {
        "description": "Point on the zoomed footage to zoom into, expressed as percentages of its dimensions. Required for `manualZoom`; ignored for `trackingZoom`.",
        "properties": {
          "xPct": {
            "description": "Horizontal position on the screen frame (0-100). 0 = left edge.",
            "example": 50,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "yPct": {
            "description": "Vertical position on the screen frame (0-100). 0 = top edge.",
            "example": 50,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "xPct",
          "yPct"
        ],
        "type": "object"
      },
      "ZoomFocusPointOutput": {
        "additionalProperties": false,
        "description": "Point on the zoomed footage to zoom into, expressed as percentages of its dimensions. Required for `manualZoom`; ignored for `trackingZoom`.",
        "properties": {
          "xPct": {
            "description": "Horizontal position on the screen frame (0-100). 0 = left edge.",
            "example": 50,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "yPct": {
            "description": "Vertical position on the screen frame (0-100). 0 = top edge.",
            "example": 50,
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "xPct",
          "yPct"
        ],
        "type": "object"
      },
      "__schema0": {
        "allOf": [
          {
            "$ref": "#/components/schemas/__schema1"
          }
        ]
      },
      "__schema1": {
        "anyOf": [
          {
            "type": "number"
          },
          {
            "additionalProperties": false,
            "properties": {
              "curve": {
                "description": "The curve's name.",
                "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$",
                "type": "string"
              }
            },
            "required": [
              "curve"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "time": {
                "enum": [
                  "seconds"
                ],
                "type": "string"
              }
            },
            "required": [
              "time"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "args": {
                "items": {
                  "$ref": "#/components/schemas/__schema0"
                },
                "maxItems": 4,
                "minItems": 1,
                "type": "array"
              },
              "op": {
                "enum": [
                  "add",
                  "subtract",
                  "multiply",
                  "divide",
                  "min",
                  "max",
                  "abs",
                  "negate",
                  "sin",
                  "cos",
                  "pow",
                  "sqrt",
                  "floor",
                  "round",
                  "mod",
                  "mix",
                  "clamp",
                  "step",
                  "smoothstep"
                ],
                "type": "string"
              }
            },
            "required": [
              "op",
              "args"
            ],
            "type": "object"
          },
          {
            "additionalProperties": false,
            "properties": {
              "axis": {
                "enum": [
                  "x",
                  "y"
                ],
                "type": "string"
              },
              "project": {
                "additionalProperties": false,
                "properties": {
                  "camera": {
                    "additionalProperties": false,
                    "description": "A virtual camera filming the canvas as a tilted plane, as a lens shader would: the canvas point it aims at lands in the middle.",
                    "properties": {
                      "aimX": {
                        "$ref": "#/components/schemas/__schema0"
                      },
                      "aimY": {
                        "$ref": "#/components/schemas/__schema0"
                      },
                      "focal": {
                        "description": "1.7.",
                        "exclusiveMinimum": true,
                        "maximum": 100,
                        "minimum": 0,
                        "type": "number"
                      },
                      "roll": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/__schema0"
                          }
                        ],
                        "description": "Radians."
                      },
                      "tiltX": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/__schema0"
                          }
                        ],
                        "description": "Radians; positive tips the top away."
                      },
                      "tiltY": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/__schema0"
                          }
                        ],
                        "description": "Radians; positive turns the right side away."
                      },
                      "zoom": {
                        "$ref": "#/components/schemas/__schema0",
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/__schema1"
                          }
                        ],
                        "description": "1 shows the whole canvas."
                      }
                    },
                    "required": [
                      "aimX",
                      "aimY",
                      "zoom"
                    ],
                    "type": "object"
                  },
                  "point": {
                    "additionalProperties": false,
                    "description": "A point on the canvas, in px.",
                    "properties": {
                      "x": {
                        "$ref": "#/components/schemas/__schema0"
                      },
                      "y": {
                        "$ref": "#/components/schemas/__schema0"
                      }
                    },
                    "required": [
                      "x",
                      "y"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "point",
                  "camera"
                ],
                "type": "object"
              }
            },
            "required": [
              "project",
              "axis"
            ],
            "type": "object"
          }
        ]
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "description": "API key obtained from your Tella account settings",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "externalDocs": {
    "description": "API versioning and deprecation policy",
    "url": "https://www.tella.com/docs/versioning"
  },
  "info": {
    "description": "The Tella Public API allows you to programmatically access your videos and playlists, including transcripts, chapters, and thumbnails.\n\n## Authentication\n\nAll requests require a Bearer token in the Authorization header:\n```\nAuthorization: Bearer tella_pk_xxxxx...\n```\n\nAPI keys can be generated in your Tella workspace settings.\n\n## Rate Limiting\n\nThe API is rate-limited to 200 requests per minute per user within a workspace.\nRate limit information is returned in response headers:\n- `RateLimit-Policy`: Named quota, request limit, and window in seconds\n- `RateLimit`: Remaining quota and seconds until reset\n- `X-RateLimit-Limit`: Maximum requests per window\n- `X-RateLimit-Remaining`: Remaining requests in current window\n- `X-RateLimit-Reset`: Unix timestamp in milliseconds when the window resets\n\nA `429 Too Many Requests` response also includes `Retry-After` in seconds.",
    "title": "Tella Public API",
    "version": "1.0.0"
  },
  "openapi": "3.0.3",
  "paths": {
    "/v1/account": {
      "get": {
        "description": "The signed-in user, their workspace and role in it, the workspace's plan (and when a trial ends) and its agent credits: the balance, the monthly allowance and the packages an owner can buy. Use it to tell when a request needs a paid plan or more credits.",
        "operationId": "getAccount",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAccountResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get the account",
        "tags": [
          "Account"
        ]
      }
    },
    "/v1/agent-chats": {
      "get": {
        "description": "The editor agent chats in a video, most recently active first, each with its `status` and `lastReply`. Poll it to follow a chat you started: `idle` means its turn ended.",
        "operationId": "listAgentChats",
        "parameters": [
          {
            "description": "The video whose agent chats to list",
            "in": "query",
            "name": "videoId",
            "required": true,
            "schema": {
              "description": "The video whose agent chats to list",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAgentChatsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List a video's agent chats",
        "tags": [
          "Agent chats"
        ]
      },
      "post": {
        "description": "Start a chat with Tella's editor agent in a video you can edit, as if you had typed `prompt` in its agent chat; without `videoId` it first makes a new, empty video. The agent works in the background and spends the workspace's AI Credits. Follow it with `GET /v1/agent-chats?videoId=`.",
        "operationId": "startAgentChat",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartAgentChatRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartAgentChatResponse"
                }
              }
            },
            "description": "Created",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Start an agent chat",
        "tags": [
          "Agent chats"
        ]
      }
    },
    "/v1/analytics": {
      "get": {
        "description": "Viewing analytics aggregated across videos: by default every video shared with the workspace, or with scope=mine only the videos you created. Includes the same summary, plays per day, retention, geography and referrer breakdowns as a single video, plus the videos ranked by plays. Only topVideos is paginated; pass pagination.nextCursor as cursor for the next page. Dates are whole UTC days; omit both for all time.",
        "operationId": "getWorkspaceAnalytics",
        "parameters": [
          {
            "description": "First day of the range, inclusive, as YYYY-MM-DD in UTC. Omit to start from the first recorded view.",
            "in": "query",
            "name": "startDate",
            "schema": {
              "description": "First day of the range, inclusive, as YYYY-MM-DD in UTC. Omit to start from the first recorded view.",
              "example": "2026-01-01",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "description": "Last day of the range, inclusive, as YYYY-MM-DD in UTC. Omit to run through today.",
            "in": "query",
            "name": "endDate",
            "schema": {
              "description": "Last day of the range, inclusive, as YYYY-MM-DD in UTC. Omit to run through today.",
              "example": "2026-01-01",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "description": "IANA time zone used to bucket viewsOverTime into days (default: UTC)",
            "in": "query",
            "name": "timezone",
            "schema": {
              "description": "IANA time zone used to bucket viewsOverTime into days (default: UTC)",
              "example": "America/New_York",
              "type": "string"
            }
          },
          {
            "description": "Which videos to aggregate (default: workspace)",
            "in": "query",
            "name": "scope",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AnalyticsScope"
                }
              ],
              "description": "Which videos to aggregate (default: workspace)"
            }
          },
          {
            "description": "Top videos per page (default: 20, max: 100)",
            "in": "query",
            "name": "limit",
            "schema": {
              "description": "Top videos per page (default: 20, max: 100)",
              "example": 20,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque cursor for the next page of top videos, from the previous response's pagination.nextCursor",
            "in": "query",
            "name": "cursor",
            "schema": {
              "description": "Opaque cursor for the next page of top videos, from the previous response's pagination.nextCursor",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkspaceAnalyticsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get workspace analytics",
        "tags": [
          "Analytics"
        ]
      }
    },
    "/v1/backgrounds": {
      "get": {
        "description": "Returns personal uploads, workspace uploads, and Tella's default image and animated backgrounds in named categories. Each item includes a preview URL and a background value that can be passed directly to the clip update endpoint.",
        "operationId": "listBackgrounds",
        "parameters": [
          {
            "description": "Filter by scope",
            "in": "query",
            "name": "scope",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/BackgroundScope"
                }
              ],
              "description": "Filter by scope"
            }
          },
          {
            "description": "Filter by category ID, such as personal, workspace, default:tella, default:macos, or default:animated",
            "in": "query",
            "name": "categoryId",
            "schema": {
              "description": "Filter by category ID, such as personal, workspace, default:tella, default:macos, or default:animated",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListBackgroundsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List available backgrounds",
        "tags": [
          "Backgrounds"
        ]
      }
    },
    "/v1/library": {
      "get": {
        "description": "Returns a page of reusable media saved to the library — images, videos, screenshots, sound effects, music and LUTs — for one scope. Items added through the API include a `sourceId` you can pass anywhere a source is accepted, including images. Editor-added images, screenshots, music and LUTs expose a hosted `url` instead. URL captures from `POST /v1/library/screenshots` are placeable `image` or `video` items. Media still being generated in the editor is omitted. `scope=default` returns Tella's curated sound effect and background music catalogs instead of stored media: those items carry a `presetId` to place them with (`sound-effect` items via `POST /v1/videos/{id}/clips/{clipId}/sound-effects`, `music` items via `PUT /v1/videos/{id}/background-music`), a `category`, and a publicly fetchable `url` for previewing, and arrive as a single page; filter with `type=sound-effect` or `type=music`, or omit `type` for both. Tella's default backgrounds are not part of this catalog — they are placed as a background rather than as a source, and are listed by `GET /v1/backgrounds`. `scope=pinterest`, `scope=arena` and `scope=mymind` list the images you saved in that service once you connect it under Settings → Connections: your newest saves, or matches for `query`, as one page. Their `id` is the service's own ID; bring one into Tella with `POST /v1/library` and `from` before placing it. A service you haven't connected returns 503 `unavailable`.",
        "operationId": "listLibraryItems",
        "parameters": [
          {
            "description": "Which set of media to read: `private` (only visible to their creator), `workspace` (shared with everyone in the workspace), `default` (Tella's curated sound effect and background music catalogs, which hold no other media type), `pinterest`, `arena` or `mymind` (the images you saved in that service, once you connect it under Settings → Connections), or `vintage` (Tella's catalog of public-domain vintage film shots). Bring a `pinterest`, `arena`, `mymind` or `vintage` item in with `POST /v1/library` and `from`.",
            "in": "query",
            "name": "scope",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/LibraryReadScope"
            }
          },
          {
            "description": "Only return items of this type. With `scope=default` only `sound-effect` and `music` are valid, since the curated catalog holds no other media type; omitting it returns both.",
            "in": "query",
            "name": "type",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/LibraryItemType"
                }
              ],
              "description": "Only return items of this type. With `scope=default` only `sound-effect` and `music` are valid, since the curated catalog holds no other media type; omitting it returns both."
            }
          },
          {
            "description": "With `scope=pinterest`, `arena`, `mymind` or `vintage` only: words to search for. Omit to list your newest saves, or with `vintage`, to browse featured films.",
            "in": "query",
            "name": "query",
            "schema": {
              "description": "With `scope=pinterest`, `arena`, `mymind` or `vintage` only: words to search for. Omit to list your newest saves, or with `vintage`, to browse featured films.",
              "example": "mountain logo",
              "type": "string"
            }
          },
          {
            "description": "Pagination cursor from a previous response. Keep paging while `cursor` is present. `scope=default` is a fixed catalog, and `pinterest`, `arena` and `mymind` return a single page of your newest saves or best matches, so they never set one. `vintage` pages through its results.",
            "in": "query",
            "name": "cursor",
            "schema": {
              "description": "Pagination cursor from a previous response. Keep paging while `cursor` is present. `scope=default` is a fixed catalog, and `pinterest`, `arena` and `mymind` return a single page of your newest saves or best matches, so they never set one. `vintage` pages through its results.",
              "type": "string"
            }
          },
          {
            "description": "Items per page (1-60, default 24). Treat it as a target rather than an exact count: pages are read from storage before unlistable items are filtered out, and cursors address whole storage pages, so a response may contain somewhat more than `limit`. Returning the extra items is deliberate — trimming them would drop them, because the cursor has already moved past.",
            "in": "query",
            "name": "limit",
            "schema": {
              "description": "Items per page (1-60, default 24). Treat it as a target rather than an exact count: pages are read from storage before unlistable items are filtered out, and cursors address whole storage pages, so a response may contain somewhat more than `limit`. Returning the extra items is deliberate — trimming them would drop them, because the cursor has already moved past.",
              "example": 24,
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListLibraryResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List library items",
        "tags": [
          "Library"
        ]
      },
      "post": {
        "description": "Saves an uploaded source to the library so it can be listed and reused later, both here and in the editor's media panels. Create the source via `POST /v1/sources` and upload the bytes first, then pass its `sourceId`. Without this a source is only reachable through the clips that already reference it. To bring in an image you saved in a connected Pinterest, Are.na or mymind account instead, pass `from` with the service and `sourceId` set to the item's `id` from `GET /v1/library?scope=<service>`; Tella copies the image into your `private` library (default), the `workspace` library, or with `scope: \"video\"` the library of the video named by `videoId`. Only images can be brought in: Pinterest image pins, Are.na image blocks, and mymind images or the screenshot mymind took of a saved page.",
        "operationId": "createLibraryItem",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLibraryItemRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateLibraryItemResponse"
                }
              }
            },
            "description": "Created",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a source to the library",
        "tags": [
          "Library"
        ]
      }
    },
    "/v1/library/generations": {
      "post": {
        "description": "Starts generating an image, a short video clip or a sound effect from a text prompt with the same AI generators the editor's media panels use. Generation is asynchronous: the response is a `generation` whose `id` is the private library item the result is saved as. Poll `GET /v1/library/generations/{id}` every few seconds (images usually take 30-90 seconds, sound effects 10-30, video several minutes) until `status` is `completed`, then pass `item.sourceId` anywhere a source is accepted — `POST /v1/videos/{id}/clips/{clipId}/overlays` for an image or video overlay, `POST /v1/videos/{id}/clips/{clipId}/layouts` with `media` for b-roll, `POST /v1/videos/{id}/clips/{clipId}/sound-effects` for a sound effect. The finished item also appears in `GET /v1/library?scope=private`. Each generation counts against the caller's weekly AI generation allowance, which depends on the plan; exceeding it answers 403 with the reset time. A video is also charged in the workspace's AI Credits and is refused with a 403 while the balance is empty.",
        "operationId": "createGeneration",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGenerationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateGenerationResponse"
                }
              }
            },
            "description": "Accepted",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Generate media with AI",
        "tags": [
          "Library"
        ]
      }
    },
    "/v1/library/generations/{id}": {
      "get": {
        "description": "Returns the current status of a generation started with `POST /v1/library/generations`. Poll until `status` is `completed` (then `item` holds the finished library item) or `failed` (then `error` says why; start a new generation).",
        "operationId": "getGeneration",
        "parameters": [
          {
            "description": "Generation ID — the `generation.id` returned when it was started",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Generation ID — the `generation.id` returned when it was started",
              "example": "mi_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetGenerationResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a generation's status",
        "tags": [
          "Library"
        ]
      }
    },
    "/v1/library/imports": {
      "post": {
        "description": "Brings media into Tella from a link. A public web page is captured above the fold at 1920×1080 (or, with `scroll=true`, recorded scrolling as video); a single post on X, Instagram, LinkedIn or TikTok is cropped to its embed card. These finish in this request (allow up to two minutes) and answer 201 with `status: completed`. A link to a single video is downloaded in the background and answers 202 with `status: running`: poll `GET /v1/library/imports/{id}?videoId=…` every 5-10 seconds until it is `completed` or `failed`. Video links need `videoId` and land in that video's library; everything else lands in your private library unless you pass `videoId`. Place `item.sourceId` as an overlay or layout media. Only import media you own or have the rights to use. Private pages, social profiles and feeds, and private, members-only or age-restricted videos are not supported. Use an Idempotency-Key when retrying to avoid duplicate imports.",
        "operationId": "startImport",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartImportRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportResponse"
                }
              }
            },
            "description": "Captured and saved to the library",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportResponse"
                }
              }
            },
            "description": "Video import started; poll its status",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Import media from a URL",
        "tags": [
          "Library"
        ]
      }
    },
    "/v1/library/imports/{id}": {
      "get": {
        "description": "Returns the status of an import started with `POST /v1/library/imports`. Pass the same `videoId` it was started with. Poll until `status` is `completed` (then `item` holds the library item) or `failed` (then `error` says why; start a new import to retry).",
        "operationId": "getImport",
        "parameters": [
          {
            "description": "Import ID — the `import.id` returned when it was started",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Import ID — the `import.id` returned when it was started",
              "example": "mi_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "The `videoId` the import was started with, if any",
            "in": "query",
            "name": "videoId",
            "schema": {
              "description": "The `videoId` the import was started with, if any",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportResponse"
                }
              }
            },
            "description": "The import's current status",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get an import's status",
        "tags": [
          "Library"
        ]
      }
    },
    "/v1/library/screenshots": {
      "post": {
        "deprecated": true,
        "description": "Deprecated: use `POST /v1/library/imports`, which takes the same `url` and `scroll` and also imports video links. Captures a public web page or a single post on X, Instagram, LinkedIn or TikTok and saves it to the caller's private library. Pages are captured above the fold; social posts are cropped to their embed card. Set scroll=true to record a scrolling web page as video (ignored for social posts). Returns a finished image or video library item with a sourceId for overlays or layout media. Unlike AI generation, capture completes in this request, with no polling; allow up to two minutes. Private pages and social profiles/feeds are not supported. Use an Idempotency-Key when retrying to avoid duplicate captures.",
        "operationId": "captureScreenshot",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaptureScreenshotRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CaptureScreenshotResponse"
                }
              }
            },
            "description": "Captured and saved to the private library",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Capture a web page or social post",
        "tags": [
          "Library"
        ]
      }
    },
    "/v1/library/{id}": {
      "delete": {
        "description": "Removes an item from the library. This removes the library entry only — clips already using the underlying source keep working.",
        "operationId": "deleteLibraryItem",
        "parameters": [
          {
            "description": "Library item ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Library item ID",
              "example": "media_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Which library the item belongs to: `workspace` items are shared with everyone in the workspace, `private` items are only visible to their creator",
            "in": "query",
            "name": "scope",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/LibraryScope"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a library item",
        "tags": [
          "Library"
        ]
      }
    },
    "/v1/motion/clips": {
      "post": {
        "description": "Adds a clip at the end of a video that plays a blank Tella Motion document of its own, or your document `documentId` that no video plays yet, and returns the clip and its document. With `documentId` and no `videoId`, it makes a new video for the document, as large as its canvas, and returns its `videoId` and `editUrl`. Build what it shows with `POST /v1/motion/documents/{id}/commands`. The clip routes that edit layouts, cuts, zooms, overlays or the transcript refuse a Tella Motion clip; it can still be renamed, moved and deleted.",
        "operationId": "createMotionClip",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMotionClipRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionClipResponse"
                }
              }
            },
            "description": "Created",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a Tella Motion clip",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents": {
      "get": {
        "description": "Lists Tella Motion documents you can edit, newest first. With `storyId`, a video's: its Tella Motion clips' and the documents its overlays and b-roll play. Without it, your documents that no video plays yet. Every one plays live where the video uses it, so an edit shows in the video at once. Tella Motion media in the library is a frozen snapshot, which becomes a new document of the video's when placed.",
        "operationId": "listMotionDocuments",
        "parameters": [
          {
            "description": "The video (vid_…) whose documents to list. Leave it out for your documents that no video plays yet.",
            "in": "query",
            "name": "storyId",
            "schema": {
              "description": "The video (vid_…) whose documents to list. Leave it out for your documents that no video plays yet.",
              "example": "vid_abc123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMotionDocumentsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List Tella Motion documents",
        "tags": [
          "Tella Motion"
        ]
      },
      "post": {
        "description": "Creates a blank document, 10 s long (the `canvas.set` op changes that). With `videoId` it is the video's, as large as the video unless sized, for an overlay or b-roll you build in place. Without it the document is yours and in no video yet (1920×1080 unless sized); the first video it is placed in takes it over. Edit it with `POST /v1/motion/documents/{id}/commands`, then show it with `POST /v1/videos/{id}/clips/{clipId}/overlays` (`motionDocumentId`) or a layout's `media: {type: \"motion\", documentId}`. It plays there live, so later edits show in the video as you make them.",
        "operationId": "createMotionDocument",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMotionDocumentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionDocumentResponse"
                }
              }
            },
            "description": "Created",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Create a Tella Motion document",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents/{id}": {
      "get": {
        "description": "Returns the document's canvas, the outline of its nodes, its compositions and assets, the editor's state per node and `seq`, the revision to pass as `baseRevision` when editing.",
        "operationId": "getMotionDocument",
        "parameters": [
          {
            "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionDocumentSummary"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Summarize a Tella Motion document",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents/{id}/commands": {
      "post": {
        "description": "Applies a batch of ops and the editor's own commands as one transaction and one undo step; nothing applies unless everything does. Prefer a command for anything the editor does (titles, shapes, media, keyframes and easing, effects, masks, text animation, fades), since it keeps the editor's conventions; use ops (`node.patch`, `node.move`, `node.insert`, …) for the rest. `GET /v1/motion/schema?schema=edits&type=…` gives each one's fields. Pass `baseRevision` to refuse the batch with 409 if the document changed since you read it, and `dryRun` to check it without saving.",
        "operationId": "applyMotionCommands",
        "parameters": [
          {
            "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyMotionCommandsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionApplyResult"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Edit a Tella Motion document",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents/{id}/compositions/{compositionId}": {
      "get": {
        "description": "Returns a composition asset's node outline and the instances that play it. Editing it changes all of them.",
        "operationId": "getMotionComposition",
        "parameters": [
          {
            "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
              "type": "string"
            }
          },
          {
            "description": "The composition asset's ID, from the document's outline.",
            "in": "path",
            "name": "compositionId",
            "required": true,
            "schema": {
              "description": "The composition asset's ID, from the document's outline.",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionComposition"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Inspect a composition",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents/{id}/download": {
      "get": {
        "description": "Returns the whole stored document and its `seq`. Large: pull out what you need rather than reading it in full. Its shape is `GET /v1/motion/schema?schema=document`.",
        "operationId": "downloadMotionDocument",
        "parameters": [
          {
            "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionDocumentDownload"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Download a Tella Motion document",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents/{id}/duplicate": {
      "post": {
        "description": "Copies a document under the same owner and optionally edits the copy in the same request with `commands`. Use it to reuse a design with other content, such as the same title card with another heading. The copy is independent of the original.",
        "operationId": "duplicateMotionDocument",
        "parameters": [
          {
            "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateMotionDocumentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DuplicateMotionDocumentResponse"
                }
              }
            },
            "description": "Created",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Duplicate a Tella Motion document",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents/{id}/media": {
      "get": {
        "description": "Returns the videos, sounds and images already in the document, with the `mediaId` the `addMedia` command places.",
        "operationId": "listMotionMedia",
        "parameters": [
          {
            "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionMediaResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List a document's media",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents/{id}/nodes": {
      "get": {
        "description": "Returns a node as the editor's inspector shows it at a time: properties with units, values and keyframes, its effect stack, expressions and style. Read a node this way before changing its look, animation or sound.",
        "operationId": "inspectMotionNode",
        "parameters": [
          {
            "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
              "type": "string"
            }
          },
          {
            "description": "The node's path, from the document's outline.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "description": "The node's path, from the document's outline.",
              "example": "scene.0",
              "type": "string"
            }
          },
          {
            "description": "Seconds on the node's composition's clock. Defaults to the node's start.",
            "in": "query",
            "name": "at",
            "schema": {
              "description": "Seconds on the node's composition's clock. Defaults to the node's start.",
              "minimum": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionNodeProperties"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Inspect a node's properties",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents/{id}/nodes/raw": {
      "get": {
        "description": "Returns one node with every stored field, its window, the composition it sits in and, for an instance, the outline of the composition it opens. Use it with ops such as `node.patch`; for the inspector's view with units and keyframes use `GET /v1/motion/documents/{id}/nodes`.",
        "operationId": "getMotionNode",
        "parameters": [
          {
            "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
              "type": "string"
            }
          },
          {
            "description": "The node's path, from the document's outline.",
            "in": "query",
            "name": "path",
            "required": true,
            "schema": {
              "description": "The node's path, from the document's outline.",
              "example": "scene.0",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionNode"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a node's stored fields",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/documents/{id}/thumbnail": {
      "get": {
        "description": "Returns a signed CDN URL for a still image (jpg/png/webp) or animated preview (gif/mp4) of the document on its own, at a time on its own clock: any document you can edit, also one no video plays yet. Width and height follow the document's canvas; a time at or past its end shows its end. By default returns a 302 redirect — set `?response=json` to get `{url}` JSON instead.",
        "operationId": "getMotionDocumentThumbnail",
        "parameters": [
          {
            "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tella Motion document ID (ffd_…), from `GET /v1/motion/documents`.",
              "type": "string"
            }
          },
          {
            "description": "Output format. Defaults to jpg.",
            "in": "query",
            "name": "format",
            "schema": {
              "description": "Output format. Defaults to jpg.",
              "enum": [
                "jpg",
                "png",
                "webp",
                "gif",
                "mp4"
              ],
              "example": "jpg",
              "type": "string"
            }
          },
          {
            "description": "Frame offset in ms on the playback timeline (cuts applied) — clip-relative for the clip thumbnail, video-relative (cumulative across clips) for the video thumbnail. Defaults to 0.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Frame offset in ms on the playback timeline (cuts applied) — clip-relative for the clip thumbnail, video-relative (cumulative across clips) for the video thumbnail. Defaults to 0.",
              "example": 1000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
            "in": "query",
            "name": "durationMs",
            "schema": {
              "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
              "example": 3000,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Frame rate for MP4 previews. Must be 1, 2, 5, 10, or 30. Defaults to 30.",
            "in": "query",
            "name": "fps",
            "schema": {
              "description": "Frame rate for MP4 previews. Must be 1, 2, 5, 10, or 30. Defaults to 30.",
              "example": 10,
              "type": "number"
            }
          },
          {
            "description": "Output width in pixels. The thumbnail keeps the video's aspect ratio; a missing side is derived from it.",
            "in": "query",
            "name": "width",
            "schema": {
              "description": "Output width in pixels. The thumbnail keeps the video's aspect ratio; a missing side is derived from it.",
              "example": 1280,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Output height in pixels. Derived from the video's aspect ratio when omitted.",
            "in": "query",
            "name": "height",
            "schema": {
              "description": "Output height in pixels. Derived from the video's aspect ratio when omitted.",
              "example": 720,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Suggest a download disposition on the signed URL.",
            "in": "query",
            "name": "download",
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "true"
                  ],
                  "type": "string"
                },
                {
                  "enum": [
                    "false"
                  ],
                  "type": "string"
                }
              ],
              "description": "Suggest a download disposition on the signed URL.",
              "example": "false"
            }
          },
          {
            "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
            "in": "query",
            "name": "response",
            "schema": {
              "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
              "enum": [
                "json"
              ],
              "example": "json",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThumbnailResponse"
                }
              }
            },
            "description": "Returned when `?response=json` is set",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "302": {
            "description": "Redirect to the signed CDN URL",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a frame or preview of a Tella Motion document",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/effects": {
      "get": {
        "description": "Returns the effect kinds the `addEffect` command puts on a node's stack, each with its parameters' names, types, ranges, units and defaults, and its presets by name. `kind` returns one effect with its presets' values, and `kind` with `preset` one preset's.",
        "operationId": "listMotionEffects",
        "parameters": [
          {
            "description": "One effect kind: the response is `effect`, with each preset's values where they differ from the kind's defaults.",
            "in": "query",
            "name": "kind",
            "schema": {
              "description": "One effect kind: the response is `effect`, with each preset's values where they differ from the kind's defaults.",
              "example": "fx.liquidGlass",
              "type": "string"
            }
          },
          {
            "description": "With `kind`: one of its presets, with every value it sets.",
            "in": "query",
            "name": "preset",
            "schema": {
              "description": "With `kind`: one of its presets, with every value it sets.",
              "example": "regularLight",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionEffectsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List Tella Motion effects",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/fonts": {
      "get": {
        "description": "Returns the fonts a title can be set in: the catalog's by slug, and the fonts uploaded to your library or your workspace's by id.",
        "operationId": "listMotionFonts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionFontsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List Tella Motion fonts",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/motion/schema": {
      "get": {
        "description": "Returns the JSON schema of a document (`schema=document`), of every edit a commands batch takes (`schema=edits`), or of one op or command (`schema=edits&type=node.patch`).",
        "operationId": "getMotionSchema",
        "parameters": [
          {
            "description": "`document`: a document as the download returns it (about 160 KB). `edits`: one item of a commands batch, every op and command (about 180 KB), or with `type` that one edit's schema.",
            "in": "query",
            "name": "schema",
            "required": true,
            "schema": {
              "description": "`document`: a document as the download returns it (about 160 KB). `edits`: one item of a commands batch, every op and command (about 180 KB), or with `type` that one edit's schema.",
              "enum": [
                "document",
                "edits"
              ],
              "type": "string"
            }
          },
          {
            "description": "With `schema=edits`: one op or command type.",
            "in": "query",
            "name": "type",
            "schema": {
              "description": "With `schema=edits`: one op or command type.",
              "example": "node.patch",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MotionSchemaResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a Tella Motion JSON schema",
        "tags": [
          "Tella Motion"
        ]
      }
    },
    "/v1/playlist-groups": {
      "get": {
        "description": "Returns the sidebar playlist groups for the authenticated user, in sidebar order. Personal groups are only visible to you; org groups are shared with the whole workspace.",
        "operationId": "listPlaylistGroups",
        "parameters": [
          {
            "description": "Filter by visibility: personal or org. Omit to list all groups.",
            "in": "query",
            "name": "visibility",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/PlaylistGroupVisibility"
                }
              ],
              "description": "Filter by visibility: personal or org. Omit to list all groups."
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPlaylistGroupsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List playlist groups",
        "tags": [
          "Playlist Groups"
        ]
      },
      "post": {
        "description": "Create a sidebar group to organize playlists into. Use the groupId field on PATCH /v1/playlists/{id} to move playlists into it.",
        "operationId": "createPlaylistGroup",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePlaylistGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaylistGroupResponse"
                }
              }
            },
            "description": "Created",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Create a playlist group",
        "tags": [
          "Playlist Groups"
        ]
      }
    },
    "/v1/playlist-groups/{id}": {
      "delete": {
        "description": "Delete a playlist group. Playlists in the group are not deleted, they just become ungrouped.",
        "operationId": "deletePlaylistGroup",
        "parameters": [
          {
            "description": "Unique playlist group identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique playlist group identifier",
              "example": "pg_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Playlist group successfully deleted",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Delete a playlist group",
        "tags": [
          "Playlist Groups"
        ]
      },
      "patch": {
        "description": "Rename a playlist group and/or move it to a position in its sidebar section (0 = top)",
        "operationId": "updatePlaylistGroup",
        "parameters": [
          {
            "description": "Unique playlist group identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique playlist group identifier",
              "example": "pg_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePlaylistGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaylistGroupResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Rename or reorder a playlist group",
        "tags": [
          "Playlist Groups"
        ]
      }
    },
    "/v1/playlists": {
      "get": {
        "description": "Returns a list of all playlists for the authenticated user",
        "operationId": "listPlaylists",
        "parameters": [
          {
            "description": "Filter by visibility: personal (only your playlists) or org (shared with organization). Default: personal",
            "in": "query",
            "name": "visibility",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/PlaylistVisibility"
                }
              ],
              "default": "personal",
              "description": "Filter by visibility: personal (only your playlists) or org (shared with organization). Default: personal"
            }
          },
          {
            "description": "Pagination cursor from previous response",
            "in": "query",
            "name": "cursor",
            "schema": {
              "description": "Pagination cursor from previous response",
              "example": "eyJpZCI6InBsX3h5eiJ9",
              "type": "string"
            }
          },
          {
            "description": "Items per page (default: 20, max: 100)",
            "in": "query",
            "name": "limit",
            "schema": {
              "description": "Items per page (default: 20, max: 100)",
              "example": 20,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "playlists": {
                      "description": "List of playlists",
                      "items": {
                        "$ref": "#/components/schemas/PlaylistListItem"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "playlists",
                    "pagination"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List all playlists",
        "tags": [
          "Playlists"
        ]
      },
      "post": {
        "description": "Create a new playlist for the authenticated user",
        "operationId": "createPlaylist",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePlaylistRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "playlist": {
                      "$ref": "#/components/schemas/PlaylistDetail"
                    }
                  },
                  "required": [
                    "playlist"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Create a new playlist",
        "tags": [
          "Playlists"
        ]
      }
    },
    "/v1/playlists/{id}": {
      "delete": {
        "description": "Permanently delete a playlist. Videos in the playlist are not deleted.",
        "operationId": "deletePlaylist",
        "parameters": [
          {
            "description": "Unique playlist identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique playlist identifier",
              "example": "pl_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Playlist successfully deleted",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Delete a playlist",
        "tags": [
          "Playlists"
        ]
      },
      "get": {
        "description": "Returns detailed information about a playlist including its videos",
        "operationId": "getPlaylist",
        "parameters": [
          {
            "description": "Unique playlist identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique playlist identifier",
              "example": "pl_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "playlist": {
                      "$ref": "#/components/schemas/PlaylistDetail"
                    }
                  },
                  "required": [
                    "playlist"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get playlist details",
        "tags": [
          "Playlists"
        ]
      },
      "patch": {
        "description": "Update a playlist's name and/or description",
        "operationId": "updatePlaylist",
        "parameters": [
          {
            "description": "Unique playlist identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique playlist identifier",
              "example": "pl_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePlaylistRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "playlist": {
                      "$ref": "#/components/schemas/PlaylistDetail"
                    }
                  },
                  "required": [
                    "playlist"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a playlist",
        "tags": [
          "Playlists"
        ]
      }
    },
    "/v1/playlists/{id}/videos": {
      "post": {
        "description": "Adds an existing video to the specified playlist",
        "operationId": "addVideoToPlaylist",
        "parameters": [
          {
            "description": "Unique playlist identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique playlist identifier",
              "example": "pl_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddVideoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Video successfully added to playlist",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a video to a playlist",
        "tags": [
          "Playlists"
        ]
      }
    },
    "/v1/playlists/{id}/videos/{videoId}": {
      "delete": {
        "description": "Removes a video from the specified playlist. The video itself is not deleted.",
        "operationId": "removeVideoFromPlaylist",
        "parameters": [
          {
            "description": "Unique playlist identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique playlist identifier",
              "example": "pl_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "videoId",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Video successfully removed from playlist",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a video from a playlist",
        "tags": [
          "Playlists"
        ]
      }
    },
    "/v1/social-accounts": {
      "get": {
        "description": "Lists the social accounts you have connected in Tella that POST /v1/videos/{id}/publish can post with: each one's `id` (pass it as `accountId`), its name, and the destinations it posts to. Accounts are connected in Tella (Settings → Connections); this API can't connect one.",
        "operationId": "listSocialAccounts",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSocialAccountsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List connected social accounts",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/sources": {
      "post": {
        "description": "Returns a `sourceId` and a pre-signed S3 URL. PUT the file bytes to `uploadUrl`, then reference `sourceId` from clips, layouts (b-roll media), overlays, or backgrounds. For a 3D .cube LUT use `kind: \"lut\"`, omit dimensions and duration, upload unchanged, then save it with `POST /v1/library` and apply the returned item id with `PATCH /v1/videos/{id}/clips/{clipId}/filters`. Use `kind: \"image\"` for images (no `duration`); Tella hosts the bytes for rendering, so you never deal with raw image URLs. To reuse an uploaded source in other videos, save it to the workspace library with `POST /v1/library` (`scope: \"workspace\"`); `GET /v1/library` then finds it from any video.",
        "operationId": "createSource",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSourceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSourceResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Create a source upload (video, audio, image, or LUT)",
        "tags": [
          "Sources"
        ]
      }
    },
    "/v1/sources/{sourceId}": {
      "get": {
        "description": "Returns whether a source from `POST /v1/sources` is ready to use, however it was placed (clip, b-roll, overlay, background, background music or sound effect). Poll it after placing a newly uploaded source: while it is `processing`, frames and previews of videos that use it answer not-ready instead of rendering.",
        "operationId": "getSource",
        "parameters": [
          {
            "description": "Source ID",
            "in": "path",
            "name": "sourceId",
            "required": true,
            "schema": {
              "description": "Source ID",
              "example": "su_abc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSourceResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a source's processing status",
        "tags": [
          "Sources"
        ]
      }
    },
    "/v1/sources/{sourceId}/beats": {
      "get": {
        "description": "Returns the tempo, every beat and every bar's first beat (downbeat) of an audio or video source owned by the caller or their workspace, in ms of source time. Each source is analyzed once and cached; the first request can take a few seconds, and answers 503 `unavailable` if the analysis is still running, so retry.",
        "operationId": "getSourceBeats",
        "parameters": [
          {
            "description": "Streaming upload source identifier",
            "in": "path",
            "name": "sourceId",
            "required": true,
            "schema": {
              "description": "Streaming upload source identifier",
              "example": "su_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MusicBeatsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get the beats of an audio or video source",
        "tags": [
          "Sources"
        ]
      }
    },
    "/v1/sources/{sourceId}/storyboard": {
      "get": {
        "description": "Returns a signed 4x4 WebP storyboard whose 16 tiles are sampled evenly across the requested window (`durationMs`/16 apart; every 5 seconds for the default 80s window) from a streaming upload source owned by the caller or their workspace. `startTimeMs` is relative to the source. Only `startTimeMs` and `durationMs` control the storyboard; tile count, dimensions, and format are fixed. By default returns a 302 redirect — set `?response=json` to get `{url, columns, rows, intervalMs}` JSON instead.",
        "operationId": "getSourceStoryboard",
        "parameters": [
          {
            "description": "Streaming upload source identifier",
            "in": "path",
            "name": "sourceId",
            "required": true,
            "schema": {
              "description": "Streaming upload source identifier",
              "example": "su_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Start time in ms on the selected target's playback timeline. Defaults to 0.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Start time in ms on the selected target's playback timeline. Defaults to 0.",
              "example": 1000,
              "maximum": 2147483647,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Storyboard window duration in ms. Defaults to 80000; the selected target's remaining duration may shorten it. Pass the target's full duration to sample it end to end.",
            "in": "query",
            "name": "durationMs",
            "schema": {
              "description": "Storyboard window duration in ms. Defaults to 80000; the selected target's remaining duration may shorten it. Pass the target's full duration to sample it end to end.",
              "example": 30000,
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Set to 'json' to receive `{url, columns, rows, intervalMs}` instead of the default 302 redirect.",
            "in": "query",
            "name": "response",
            "schema": {
              "description": "Set to 'json' to receive `{url, columns, rows, intervalMs}` instead of the default 302 redirect.",
              "enum": [
                "json"
              ],
              "example": "json",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoryboardResponse"
                }
              }
            },
            "description": "Returned when `?response=json` is set",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "302": {
            "description": "Redirect to the signed storyboard URL",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a streaming upload storyboard",
        "tags": [
          "Sources"
        ]
      }
    },
    "/v1/sources/{sourceId}/thumbnail": {
      "get": {
        "description": "Get a thumbnail or animated preview of a streaming upload source owned by the caller or their workspace, without a video or clip — for a source that isn't on any clip yet. `startTimeMs` is relative to the source. If you pass `width`/`height`, the aspect ratio must match the source's native ratio. Omit both to default to the source's native size. By default returns a 302 redirect — set `?response=json` to get `{url}` JSON instead.",
        "operationId": "getStandaloneSourceThumbnail",
        "parameters": [
          {
            "description": "Streaming upload source identifier",
            "in": "path",
            "name": "sourceId",
            "required": true,
            "schema": {
              "description": "Streaming upload source identifier",
              "example": "su_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Output format. Defaults to jpg. Image sources support only still thumbnails (jpg, png or webp); gif and mp4 return a 400 error.",
            "in": "query",
            "name": "format",
            "schema": {
              "description": "Output format. Defaults to jpg. Image sources support only still thumbnails (jpg, png or webp); gif and mp4 return a 400 error.",
              "enum": [
                "jpg",
                "png",
                "webp",
                "gif",
                "mp4"
              ],
              "example": "jpg",
              "type": "string"
            }
          },
          {
            "description": "Frame offset in ms from the source's start. Defaults to 0.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Frame offset in ms from the source's start. Defaults to 0.",
              "example": 1000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
            "in": "query",
            "name": "durationMs",
            "schema": {
              "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
              "example": 3000,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Output width in pixels. The thumbnail keeps the source's aspect ratio; a missing side is derived from it.",
            "in": "query",
            "name": "width",
            "schema": {
              "description": "Output width in pixels. The thumbnail keeps the source's aspect ratio; a missing side is derived from it.",
              "example": 1280,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Output height in pixels. Derived from the source's aspect ratio when omitted.",
            "in": "query",
            "name": "height",
            "schema": {
              "description": "Output height in pixels. Derived from the source's aspect ratio when omitted.",
              "example": 720,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Suggest a download disposition on the signed URL.",
            "in": "query",
            "name": "download",
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "true"
                  ],
                  "type": "string"
                },
                {
                  "enum": [
                    "false"
                  ],
                  "type": "string"
                }
              ],
              "description": "Suggest a download disposition on the signed URL."
            }
          },
          {
            "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
            "in": "query",
            "name": "response",
            "schema": {
              "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
              "enum": [
                "json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThumbnailResponse"
                }
              }
            },
            "description": "Returned when `?response=json` is set",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "302": {
            "description": "Redirect to the signed CDN URL",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a thumbnail of a source on no clip",
        "tags": [
          "Sources"
        ]
      }
    },
    "/v1/sources/{sourceId}/transcript": {
      "get": {
        "description": "Returns the words spoken in a streaming upload source owned by the caller or their workspace, without a video or clip: for a source that isn't on any clip yet, such as an imported video. Times are in ms of source time and no cuts apply. Answers 503 while the source is still being transcribed. Takes the same `startTimeMs`/`endTimeMs` window and `view=sentences` or `view=text` as the clip transcript.",
        "operationId": "getSourceTranscript",
        "parameters": [
          {
            "description": "Streaming upload source identifier",
            "in": "path",
            "name": "sourceId",
            "required": true,
            "schema": {
              "description": "Streaming upload source identifier",
              "example": "su_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
              "example": 60000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
            "in": "query",
            "name": "endTimeMs",
            "schema": {
              "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
              "example": 120000,
              "maximum": 9007199254740991,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "`words` (default): every word with its index, times and flags. `text`: every word with its index as plain text, one sentence per line starting with its start time, about a seventh of the size, for reading a whole long clip (finding retakes, repeats or where something is said). `sentences`: one row per sentence (first and last word index, start and end time, text), about a quarter of the size. A time window cuts sentences at its edges.",
            "in": "query",
            "name": "view",
            "schema": {
              "description": "`words` (default): every word with its index, times and flags. `text`: every word with its index as plain text, one sentence per line starting with its start time, about a seventh of the size, for reading a whole long clip (finding retakes, repeats or where something is said). `sentences`: one row per sentence (first and last word index, start and end time, text), about a quarter of the size. A time window cuts sentences at its edges.",
              "enum": [
                "words",
                "sentences",
                "text"
              ],
              "example": "text",
              "type": "string"
            }
          },
          {
            "description": "`true`: also return the words that cuts removed, each marked `cut`, with every word's times in the clip's source recording (`sourceStartTimeMs`/`sourceEndTimeMs`). Use it to find footage the cuts took out, such as a retake, without undoing the cuts. Kept words still carry their playback `startTimeMs`/`endTimeMs`. `startTimeMs`/`endTimeMs` filter on the source times. Words view only.",
            "in": "query",
            "name": "includeCut",
            "schema": {
              "description": "`true`: also return the words that cuts removed, each marked `cut`, with every word's times in the clip's source recording (`sourceStartTimeMs`/`sourceEndTimeMs`). Use it to find footage the cuts took out, such as a retake, without undoing the cuts. Kept words still carry their playback `startTimeMs`/`endTimeMs`. `startTimeMs`/`endTimeMs` filter on the source times. Words view only.",
              "enum": [
                "true",
                "false"
              ],
              "example": "true",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClipTranscriptResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ClipTranscriptSentencesResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ClipTranscriptTextResponse"
                    }
                  ]
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get the transcript of a source on no clip",
        "tags": [
          "Sources"
        ]
      }
    },
    "/v1/sources/{sourceId}/waveform": {
      "get": {
        "description": "Returns the audio waveform JSON, in BBC audiowaveform format, for a streaming upload source owned by the caller or their workspace, without a video or clip — for a source that isn't on any clip yet.",
        "operationId": "getStandaloneSourceWaveform",
        "parameters": [
          {
            "description": "Streaming upload source identifier",
            "in": "path",
            "name": "sourceId",
            "required": true,
            "schema": {
              "description": "Streaming upload source identifier",
              "example": "su_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceWaveformResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get the audio waveform JSON for a source on no clip",
        "tags": [
          "Sources"
        ]
      }
    },
    "/v1/subtitle-presets": {
      "get": {
        "description": "Returns Tella's built-in subtitle presets and the authenticated user's saved presets. Each includes a captionStyle preview. Apply by presetId to restore the full preset, including typography and saved layout settings.",
        "operationId": "listSubtitlePresets",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "presets": {
                      "items": {
                        "$ref": "#/components/schemas/SubtitlePreset"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "presets"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List subtitle presets",
        "tags": [
          "Videos"
        ]
      },
      "post": {
        "description": "Saves a subtitle look as a personal preset, like the editor's \"Save as preset\". Pass `videoId` to snapshot that video's current subtitles (style, font, weight, size, position, grouping and lines per block), `captionStyle` to build one from scratch on the style's defaults, or both — explicit caption fields override the video's. Omit `name` for the editor's default (the matching built-in's name, numbered). The preset then appears in GET /v1/subtitle-presets and in the editor's Subtitles panel, and can be applied to other videos with PUT /v1/videos/{id}/subtitle-preset.",
        "operationId": "saveSubtitlePreset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveSubtitlePresetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "preset": {
                      "$ref": "#/components/schemas/SubtitlePreset"
                    }
                  },
                  "required": [
                    "preset"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Preset saved",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Save a subtitle preset",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/tags": {
      "get": {
        "description": "Returns all tags visible to the authenticated user: the workspace's shared tags plus the user's private tags",
        "operationId": "listTags",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTagsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List all tags",
        "tags": [
          "Tags"
        ]
      },
      "post": {
        "description": "Create a workspace or private tag. When no color is given, one is derived deterministically from the name.",
        "operationId": "createTag",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTagRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateTagResponse"
                }
              }
            },
            "description": "Created",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Create a new tag",
        "tags": [
          "Tags"
        ]
      }
    },
    "/v1/tags/{id}": {
      "delete": {
        "description": "Permanently delete a tag and remove it from all videos. Private tags can only be deleted by their creator.",
        "operationId": "deleteTag",
        "parameters": [
          {
            "description": "Tag ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tag ID",
              "example": "tag_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Tag successfully deleted",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Delete a tag",
        "tags": [
          "Tags"
        ]
      },
      "patch": {
        "description": "Update a tag's name, color and/or description. Private tags can only be updated by their creator.",
        "operationId": "updateTag",
        "parameters": [
          {
            "description": "Tag ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Tag ID",
              "example": "tag_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTagRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateTagResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a tag",
        "tags": [
          "Tags"
        ]
      }
    },
    "/v1/text-presets": {
      "get": {
        "description": "Returns Tella's built-in text styles and the authenticated user's saved text presets — the tiles the editor's Text panel shows. Pass a presetId as `presetId` when adding or updating a text overlay to style it in one call; `fontSizeScale` is relative to the editor's default size so a preset reads the same on every canvas.",
        "operationId": "listTextPresets",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "presets": {
                      "items": {
                        "$ref": "#/components/schemas/TextPreset"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "presets"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List text presets",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Saves a personal text preset, like the editor's \"Save style\" on a text overlay. The style starts from an existing text overlay when `videoId` and `textOverlayId` are given (keeping a custom font and reading the size relative to that video's canvas), else from the editor's default text look; every style field sent alongside overrides it. The preset then appears in GET /v1/text-presets and in the editor's Text panel.",
        "operationId": "saveTextPreset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveTextPresetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "preset": {
                      "$ref": "#/components/schemas/TextPreset"
                    }
                  },
                  "required": [
                    "preset"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Preset saved",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Save a text preset",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/text-presets/{presetId}": {
      "delete": {
        "description": "Deletes one of the authenticated user's saved text presets. Built-in `default:` presets can't be deleted. Text overlays already styled with the preset keep their look.",
        "operationId": "deleteTextPreset",
        "parameters": [
          {
            "description": "A `personal` preset ID from GET /v1/text-presets",
            "in": "path",
            "name": "presetId",
            "required": true,
            "schema": {
              "description": "A `personal` preset ID from GET /v1/text-presets",
              "example": "tp_abc123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Delete a text preset",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos": {
      "get": {
        "description": "Returns a paginated list of all videos for the authenticated user. Use playlistId query parameter to filter videos by playlist.",
        "operationId": "listVideos",
        "parameters": [
          {
            "description": "Pagination cursor from previous response",
            "in": "query",
            "name": "cursor",
            "schema": {
              "description": "Pagination cursor from previous response",
              "example": "eyJpZCI6InZpZF94eXoifQ",
              "type": "string"
            }
          },
          {
            "description": "Items per page (default: 20, max: 100)",
            "in": "query",
            "name": "limit",
            "schema": {
              "description": "Items per page (default: 20, max: 100)",
              "example": 20,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Filter videos by playlist ID",
            "in": "query",
            "name": "playlistId",
            "schema": {
              "description": "Filter videos by playlist ID",
              "example": "pl_xyz789ghi012",
              "type": "string"
            }
          },
          {
            "description": "Filter videos by tag IDs, comma-separated. Multiple tags are combined with AND. Ignored when playlistId is set.",
            "in": "query",
            "name": "tagIds",
            "schema": {
              "description": "Filter videos by tag IDs, comma-separated. Multiple tags are combined with AND. Ignored when playlistId is set.",
              "example": "tag_abc123def456,tag_ghi789jkl012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "videos": {
                      "description": "List of videos",
                      "items": {
                        "$ref": "#/components/schemas/VideoListItem"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "videos",
                    "pagination"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List all videos",
        "tags": [
          "Videos"
        ]
      },
      "post": {
        "description": "Create a new video. From an uploaded source: create a source (POST /v1/sources), PUT the video bytes to its uploadUrl, then call this endpoint with the sourceId, which becomes the new video's first clip. Without a sourceId the video is empty, as the editor's New video makes; add clips with POST /v1/videos/{id}/clips (an uploaded source) or POST /v1/motion/clips (Tella Motion).",
        "operationId": "createVideo",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVideoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "video": {
                      "$ref": "#/components/schemas/VideoDetail"
                    }
                  },
                  "required": [
                    "video"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Video created",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Create a video",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/search": {
      "get": {
        "description": "Search the authenticated user's direct video library by title or indexed transcript sentences.",
        "operationId": "searchVideos",
        "parameters": [
          {
            "description": "Words to find in video titles or indexed transcript sentences",
            "in": "query",
            "name": "query",
            "required": true,
            "schema": {
              "description": "Words to find in video titles or indexed transcript sentences",
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            }
          },
          {
            "description": "Fields to search (default: all)",
            "in": "query",
            "name": "searchIn",
            "schema": {
              "description": "Fields to search (default: all)",
              "enum": [
                "all",
                "title",
                "transcript"
              ],
              "type": "string"
            }
          },
          {
            "description": "Upper bound on results per page (default: 20, max: 100). A page can be shorter once results the caller cannot see are removed, so keep paging while hasMore is true.",
            "in": "query",
            "name": "limit",
            "schema": {
              "description": "Upper bound on results per page (default: 20, max: 100). A page can be shorter once results the caller cannot see are removed, so keep paging while hasMore is true.",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Opaque pagination cursor from the previous response",
            "in": "query",
            "name": "cursor",
            "schema": {
              "description": "Opaque pagination cursor from the previous response",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchVideosResponse"
                }
              }
            },
            "description": "Matching videos",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Search videos",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}": {
      "delete": {
        "description": "Permanently delete a video",
        "operationId": "deleteVideo",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Video successfully deleted",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Delete a video",
        "tags": [
          "Videos"
        ]
      },
      "get": {
        "description": "Returns detailed information about a video including chapters, transcript, and thumbnails",
        "operationId": "getVideo",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "video": {
                      "$ref": "#/components/schemas/VideoDetail"
                    }
                  },
                  "required": [
                    "video"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get video information",
        "tags": [
          "Videos"
        ]
      },
      "patch": {
        "description": "Update a video's settings including viewer options, download permissions, access controls, and metadata. Some features require Premium plan.",
        "operationId": "updateVideo",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVideoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "video": {
                      "$ref": "#/components/schemas/VideoDetail"
                    }
                  },
                  "required": [
                    "video"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a video",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/analytics": {
      "get": {
        "description": "Viewing analytics for one video: plays, unique sessions, watch time, plays per day, retention per one-percent slice, geography, referrers, UTM traffic sources, and call-to-action clicks. Available to the video's creator, its collaborators, and workspace members it is shared with. Dates are whole UTC days; omit both for all time.",
        "operationId": "getVideoAnalytics",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "First day of the range, inclusive, as YYYY-MM-DD in UTC. Omit to start from the first recorded view.",
            "in": "query",
            "name": "startDate",
            "schema": {
              "description": "First day of the range, inclusive, as YYYY-MM-DD in UTC. Omit to start from the first recorded view.",
              "example": "2026-01-01",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "description": "Last day of the range, inclusive, as YYYY-MM-DD in UTC. Omit to run through today.",
            "in": "query",
            "name": "endDate",
            "schema": {
              "description": "Last day of the range, inclusive, as YYYY-MM-DD in UTC. Omit to run through today.",
              "example": "2026-01-01",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
              "type": "string"
            }
          },
          {
            "description": "IANA time zone used to bucket viewsOverTime into days (default: UTC)",
            "in": "query",
            "name": "timezone",
            "schema": {
              "description": "IANA time zone used to bucket viewsOverTime into days (default: UTC)",
              "example": "America/New_York",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VideoAnalyticsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get video analytics",
        "tags": [
          "Analytics"
        ]
      }
    },
    "/v1/videos/{id}/background-music": {
      "delete": {
        "description": "Removes the video's background music track.",
        "operationId": "removeBackgroundMusic",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Background music removed",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove background music",
        "tags": [
          "Videos"
        ]
      },
      "put": {
        "description": "Sets the video's background music track. It loops over the whole video and is included in exports. Volume is 0-1 and defaults to 0.2. Omit `sourceId` and `presetId` to change only the current track's volume or name.",
        "operationId": "setBackgroundMusic",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetBackgroundMusicRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "backgroundMusic": {
                      "$ref": "#/components/schemas/BackgroundMusic"
                    }
                  },
                  "required": [
                    "backgroundMusic"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Background music set",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Set background music",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/background-music/beats": {
      "get": {
        "description": "Returns the tempo, every beat and every bar's first beat (downbeat) of the video's background music, in ms on the video's playback timeline: the track starts at 0 and restarts every `trackDurationMs` until the video ends, so the beats repeat with it. Use them to cut, start overlays or animate on the beat. Each track is analyzed once and cached; the first request for a new track can take a few seconds, and answers 503 `unavailable` if the analysis is still running, so retry.",
        "operationId": "getBackgroundMusicBeats",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MusicBeatsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get the beats of the background music",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/captions": {
      "get": {
        "description": "Returns ready, non-empty captions as a SubRip or WebVTT attachment.",
        "operationId": "getVideoCaptions",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Caption file format. Defaults to srt.",
            "in": "query",
            "name": "format",
            "schema": {
              "default": "srt",
              "description": "Caption file format. Defaults to srt.",
              "enum": [
                "srt",
                "vtt"
              ],
              "example": "vtt",
              "type": "string"
            }
          },
          {
            "description": "Return the translated subtitle track for this language code instead of the spoken one. The language must have been added to the video first (see subtitle-languages).",
            "in": "query",
            "name": "lang",
            "schema": {
              "description": "Return the translated subtitle track for this language code instead of the spoken one. The language must have been added to the video first (see subtitle-languages).",
              "example": "es",
              "pattern": "^[a-z]{2,3}(_[a-z]{2,4})?$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/x-subrip": {
                "schema": {
                  "type": "string"
                }
              },
              "text/vtt": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Caption file",
            "headers": {
              "Content-Disposition": {
                "description": "Quoted, sanitized attachment filename",
                "schema": {
                  "type": "string"
                }
              },
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Download video captions",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/chapters": {
      "get": {
        "description": "Returns chapters ordered by timestamp in seconds on the final video timeline. Chapter IDs are intentionally omitted because they are not stable across reads.",
        "operationId": "getVideoChapters",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "description": "Video chapters",
                  "properties": {
                    "chapters": {
                      "description": "Chapters on the final video timeline, ordered by timestamp",
                      "items": {
                        "$ref": "#/components/schemas/Chapter"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "chapters"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Video chapters",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get video chapters",
        "tags": [
          "Videos"
        ]
      },
      "put": {
        "description": "Replaces the complete chapter list. Timestamps are seconds on the final video timeline and must be non-negative, ascending, and within the video duration. Pass an empty array to clear all chapters.",
        "operationId": "setVideoChapters",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "Replace all chapters on a video",
                "properties": {
                  "chapters": {
                    "description": "Complete replacement chapter list in ascending timestamp order (maximum 100). Pass an empty array to clear all chapters.",
                    "items": {
                      "$ref": "#/components/schemas/ChapterInput"
                    },
                    "maxItems": 100,
                    "type": "array"
                  }
                },
                "required": [
                  "chapters"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "description": "Video chapters",
                  "properties": {
                    "chapters": {
                      "description": "Chapters on the final video timeline, ordered by timestamp",
                      "items": {
                        "$ref": "#/components/schemas/Chapter"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "chapters"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Chapters replaced",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Replace video chapters",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/clips": {
      "get": {
        "description": "Returns the clips of a video in playback order.",
        "operationId": "listClips",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List clips for a video",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Add a new clip to a video. Create a source via `POST /v1/sources`, PUT the bytes, then pass the returned `sourceId` here.",
        "operationId": "addClip",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddClipRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a clip from an uploaded source",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}": {
      "delete": {
        "description": "Removes a clip from its video. The underlying recording is preserved.",
        "operationId": "deleteClip",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Clip removed from video",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Delete a clip",
        "tags": [
          "Clips"
        ]
      },
      "get": {
        "description": "Returns a single clip in a video.",
        "operationId": "getClip",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a clip",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Update a clip's name, ordering, cuts, background, transition, audio, or frame styling (corner rounding and border style). At least one field must be provided.",
        "operationId": "updateClip",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/audio-levels": {
      "get": {
        "description": "Returns how loud a clip's voice track is over a stretch of its playback timeline (cuts applied, the same times as the transcript and silences endpoints): the peak level in dBFS for each step (0 is full scale; speech is usually above about -30, room tone well below -40; null where there is no audio). Levels come from stored waveform buckets about 5 ms long (`resolutionMs`), so a step right next to a cut can include a little of the cut audio. Use it to check what is left at a cut or to find a breath, click or filler the transcript misses.",
        "operationId": "getClipAudioLevels",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          },
          {
            "description": "Start of the range on the clip's playback timeline, in ms",
            "in": "query",
            "name": "startTimeMs",
            "required": true,
            "schema": {
              "description": "Start of the range on the clip's playback timeline, in ms",
              "example": 12000,
              "minimum": 0,
              "type": "number"
            }
          },
          {
            "description": "End of the range on the clip's playback timeline, in ms",
            "in": "query",
            "name": "endTimeMs",
            "required": true,
            "schema": {
              "description": "End of the range on the clip's playback timeline, in ms",
              "example": 15000,
              "minimum": 0,
              "type": "number"
            }
          },
          {
            "description": "Width of each level step in ms (default 10, at least 5). A range may have up to 12,000 steps.",
            "in": "query",
            "name": "stepMs",
            "schema": {
              "description": "Width of each level step in ms (default 10, at least 5). A range may have up to 12,000 steps.",
              "example": 10,
              "minimum": 5,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipAudioLevelsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get audio levels in a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/auto-crop": {
      "post": {
        "description": "Detects the visible content at a frame and applies the recommended crop to the clip's screen recording. The frame time uses the clip playback timeline, with cuts already removed. Existing masks and custom-layout geometry are adjusted with the crop.",
        "operationId": "autoCropClip",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutoCropRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutoCropResponse"
                }
              }
            },
            "description": "Crop applied",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Auto-crop a clip's screen recording",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/blurs": {
      "get": {
        "description": "Returns the blur masks on a clip.",
        "operationId": "listClipBlurs",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipMasksResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List blurs on a clip",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Adds a blur mask to a clip. Targets the footage in the clip's Screen slot at startTimeMs: the screen recording, or b-roll media a layout puts there.",
        "operationId": "addClipBlur",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddClipMaskRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipMaskResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a blur to a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/blurs/{maskId}": {
      "delete": {
        "description": "Removes a blur mask from a clip.",
        "operationId": "removeClipBlur",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Mask ID",
            "in": "path",
            "name": "maskId",
            "required": true,
            "schema": {
              "description": "Mask ID",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Blur removed",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a blur",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Update a blur mask's timing, position, or size. Only the fields you send are changed.",
        "operationId": "updateClipBlur",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Mask ID",
            "in": "path",
            "name": "maskId",
            "required": true,
            "schema": {
              "description": "Mask ID",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipMaskRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipMaskResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a blur",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/camera-faces": {
      "get": {
        "description": "Returns where the presenter's face is in the clip's camera recording, one sample per keyframe (usually 1-2 s apart), mapped onto the clip's playback timeline (cuts applied). Boxes are percentages of the camera frame, not of the video canvas: where the camera sits on the canvas depends on the clip's layouts. Keyframes in cut-out footage are dropped. Returns an empty list when the clip has no camera or its recording has no face detections yet. Pass `startTimeMs`/`endTimeMs` to read a window; a window returns the same samples the whole-clip response has in that range.",
        "operationId": "listClipCameraFaces",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          },
          {
            "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
              "example": 60000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
            "in": "query",
            "name": "endTimeMs",
            "schema": {
              "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
              "example": 120000,
              "maximum": 9007199254740991,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipCameraFacesResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List faces in a clip's camera",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/cut": {
      "post": {
        "description": "Cut one or more time ranges from a clip in a single request. Pass `cuts: [{fromMs, toMs}, ...]` for multiple ranges or the legacy `fromMs`/`toMs` pair for a single range. Overlapping or adjacent ranges are merged into the clip's existing cuts. Zooms, blurs, highlights and overlays (text, images, media, sound effects) placed entirely on footage the cut removes are deleted with it; clearing the cuts later does not bring them back. To clear all cuts, call updateClip with cuts: [].",
        "operationId": "cutClip",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CutClipRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Cut one or more time ranges from a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/cut-by-transcript": {
      "post": {
        "description": "Cut one or more ranges from a clip by referencing word indices in the transcript. The server reads each word's exact `startTimeMs` / `endTimeMs` and merges the resulting cuts — no padding is applied to word boundaries. Zooms, blurs, highlights and overlays (text, images, media, sound effects) placed entirely on footage the cut removes are deleted with it; clearing the cuts later does not bring them back.",
        "operationId": "cutClipByTranscript",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CutClipByTranscriptRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Cut clip ranges by transcript word indices",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/duplicate": {
      "post": {
        "description": "Duplicates an existing clip in its video. By default the new clip is inserted right after the source.",
        "operationId": "duplicateClip",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateClipRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Duplicate a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/filters": {
      "get": {
        "description": "Get the editor's Style → Filters settings for a clip's camera and screen recordings, including presets, sliders and LUTs.",
        "operationId": "getClipFilters",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipFiltersResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get clip color filters",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Grade camera, screen or both. Only supplied fields change. A preset replaces the entire filter first. Pass null to remove a filter. Apply to each clip to grade a whole video, and check the result with a clip frame preview.",
        "operationId": "setClipFilters",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipFiltersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipFiltersResponse"
                }
              }
            },
            "description": "Updated filters",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Set clip color filters",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/highlights": {
      "get": {
        "description": "Returns the highlight masks on a clip.",
        "operationId": "listClipHighlights",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipMasksResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List highlights on a clip",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Adds a highlight mask to a clip. Targets the footage in the clip's Screen slot at startTimeMs: the screen recording, or b-roll media a layout puts there.",
        "operationId": "addClipHighlight",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddClipMaskRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipMaskResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a highlight to a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/highlights/{maskId}": {
      "delete": {
        "description": "Removes a highlight mask from a clip.",
        "operationId": "removeClipHighlight",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Mask ID",
            "in": "path",
            "name": "maskId",
            "required": true,
            "schema": {
              "description": "Mask ID",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Highlight removed",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a highlight",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Update a highlight mask's timing, position, or size. Only the fields you send are changed.",
        "operationId": "updateClipHighlight",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Mask ID",
            "in": "path",
            "name": "maskId",
            "required": true,
            "schema": {
              "description": "Mask ID",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipMaskRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipMaskResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a highlight",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/key-events": {
      "get": {
        "description": "Returns the keys pressed during the clip's screen recording, mapped onto the clip's playback timeline (cuts applied): each key going down or up with the modifiers held (such as command+C), and each change in held modifiers. Keys typed into Tella's own window are left out, and only the key's label is returned, never the typed characters. Key presses can reveal what was typed, so only the video's creator and editors can read them. Only Mac app recordings capture the keyboard; other clips return an empty list. Pass `startTimeMs`/`endTimeMs` to read a window.",
        "operationId": "listClipKeyEvents",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          },
          {
            "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
              "example": 60000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
            "in": "query",
            "name": "endTimeMs",
            "schema": {
              "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
              "example": 120000,
              "maximum": 9007199254740991,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipKeyEventsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List key presses on a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/layouts": {
      "get": {
        "description": "Returns the layouts (sections) attached to a clip.",
        "operationId": "listClipLayouts",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipLayoutsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List layouts on a clip",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Adds a layout to a clip. Provide both startTimeMs and durationMs for a time-ranged layout, or omit both for a clip-spanning layout.",
        "operationId": "addClipLayout",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddClipLayoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipLayoutResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a layout to a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/layouts/{layoutId}": {
      "delete": {
        "description": "Removes a layout from a clip.",
        "operationId": "removeClipLayout",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Layout (section) ID",
            "in": "path",
            "name": "layoutId",
            "required": true,
            "schema": {
              "description": "Layout (section) ID",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Layout removed",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a layout",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Update a layout's shape, timing, transition style, or media. `transitionStyle` and `media` are only valid on time-ranged layouts, not on the base (clip-spanning) layout. Updating the base layout also changes every layout that reports `followsBase: true`.",
        "operationId": "updateClipLayout",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Layout (section) ID",
            "in": "path",
            "name": "layoutId",
            "required": true,
            "schema": {
              "description": "Layout (section) ID",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipLayoutRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipLayoutResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a layout",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/mouse-events": {
      "get": {
        "description": "Returns the cursor path and clicks recorded with the clip's screen recording, mapped onto the clip's playback timeline (cuts applied). Positions are percentages of the screen recording's dimensions — the same coordinate space as zoom focus points. Events during cut-out footage are dropped, and move events are sampled (default one per 100ms, `intervalMs=0` for every event). Use `types=clicks` to return only clicks. Returns an empty list when the recording has no mouse data (camera-only clips, uploads, older recorder versions). Pass `startTimeMs`/`endTimeMs` to read a long recording in windows; a window returns the same events the whole-clip response has in that range.",
        "operationId": "listClipMouseEvents",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          },
          {
            "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
              "example": 60000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
            "in": "query",
            "name": "endTimeMs",
            "schema": {
              "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
              "example": 120000,
              "maximum": 9007199254740991,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Thin move events to at most one per this many ms of playback — clicks are always kept. Defaults to 100. Pass 0 for every recorded event (can be tens of thousands on long recordings).",
            "in": "query",
            "name": "intervalMs",
            "schema": {
              "description": "Thin move events to at most one per this many ms of playback — clicks are always kept. Defaults to 100. Pass 0 for every recorded event (can be tens of thousands on long recordings).",
              "example": 100,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Comma-separated event kinds to return: clicks, moves. Default: both. Use types=clicks for the positions where a mouse button went down — one event per press, not one per sample of a held button.",
            "in": "query",
            "name": "types",
            "schema": {
              "description": "Comma-separated event kinds to return: clicks, moves. Default: both. Use types=clicks for the positions where a mouse button went down — one event per press, not one per sample of a held button.",
              "example": "clicks",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipMouseEventsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List mouse events on a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/overlays": {
      "get": {
        "description": "Returns the image and video overlays on a clip.",
        "operationId": "listClipOverlays",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipOverlaysResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List overlays on a clip",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Adds an image or video overlay to a clip. Upload the bytes via `POST /v1/sources` (`kind: image` or `kind: video`) and pass the `sourceId`; the overlay type follows the source's kind.",
        "operationId": "addClipOverlay",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddClipOverlayRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipOverlayResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add an overlay to a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/overlays/{overlayId}": {
      "delete": {
        "description": "Removes an image or video overlay from a clip.",
        "operationId": "removeClipOverlay",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Overlay ID",
            "in": "path",
            "name": "overlayId",
            "required": true,
            "schema": {
              "description": "Overlay ID",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Overlay removed",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove an overlay",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Update an overlay's name, timing, position, or dimensions. Only the fields you send are changed.",
        "operationId": "updateClipOverlay",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Overlay ID",
            "in": "path",
            "name": "overlayId",
            "required": true,
            "schema": {
              "description": "Overlay ID",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipOverlayRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipOverlayResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update an overlay",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/remove-fillers": {
      "post": {
        "description": "Detects filler words ('um', 'uh', 'hmm', etc.) and adds cuts that bracket each filler. New cuts are merged with any existing cuts. Returns the updated clip.",
        "operationId": "removeClipFillers",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove filler words from a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/remove-silences": {
      "post": {
        "description": "Detects silent pauses in the clip's audio and adds cuts that remove them, like the editor's Remove silences tool. `mode` controls aggressiveness: natural cuts pauses longer than 800ms, fast longer than 500ms, faster longer than 300ms (default natural). New cuts are merged with any existing cuts. Returns the updated clip.",
        "operationId": "removeClipSilences",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveSilencesRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove silences from a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/reorder": {
      "post": {
        "description": "Moves a clip to a new position within its video. Other clips are renumbered to keep ordering contiguous.",
        "operationId": "reorderClip",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderClipRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Reorder a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/shape-overlays": {
      "get": {
        "description": "Returns the shape overlays (squares, circles, stars…) on a clip.",
        "operationId": "listClipShapeOverlays",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipShapeOverlaysResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List shape overlays on a clip",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Adds a square, circle, triangle, diamond, star, hexagon or arrow on top of a clip, filled with any clip background and with an optional border and shadow.",
        "operationId": "addClipShapeOverlay",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddClipShapeOverlayRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipShapeOverlayResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a shape overlay to a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/shape-overlays/{shapeOverlayId}": {
      "delete": {
        "description": "Removes a shape overlay from a clip.",
        "operationId": "removeClipShapeOverlay",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Shape overlay ID",
            "in": "path",
            "name": "shapeOverlayId",
            "required": true,
            "schema": {
              "description": "Shape overlay ID",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Shape overlay removed",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a shape overlay",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Update a shape overlay's outline, fill, corners, border, shadow, timing, position, size, animation, depth or stacking order. Only the fields you send are changed.",
        "operationId": "updateClipShapeOverlay",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Shape overlay ID",
            "in": "path",
            "name": "shapeOverlayId",
            "required": true,
            "schema": {
              "description": "Shape overlay ID",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipShapeOverlayRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipShapeOverlayResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a shape overlay",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/silences": {
      "get": {
        "description": "Returns silent ranges in a clip's audio, in ms on the clip's playback timeline (cuts applied) — pass ranges directly to the cut endpoint. Silences already removed by cuts are not reported.",
        "operationId": "getClipSilences",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          },
          {
            "description": "Minimum silence duration to report, in ms. Defaults to 200.",
            "in": "query",
            "name": "minDurationMs",
            "schema": {
              "description": "Minimum silence duration to report, in ms. Defaults to 200.",
              "example": 500,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipSilencesResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get silent ranges in a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/sound-effects": {
      "get": {
        "description": "Returns the sound effects (audio overlays) on a clip.",
        "operationId": "listClipSoundEffects",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipSoundEffectsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List sound effects on a clip",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Adds a sound effect to a clip from Tella's curated catalog (`presetId`) or your own audio (`sourceId`).",
        "operationId": "addClipSoundEffect",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddClipSoundEffectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipSoundEffectResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a sound effect to a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/sound-effects/{soundEffectId}": {
      "delete": {
        "description": "Removes a sound effect from a clip.",
        "operationId": "removeClipSoundEffect",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Sound effect ID",
            "in": "path",
            "name": "soundEffectId",
            "required": true,
            "schema": {
              "description": "Sound effect ID",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Sound effect removed",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a sound effect",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Update a sound effect's name, timing, or volume. Only the fields you send are changed.",
        "operationId": "updateClipSoundEffect",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Sound effect ID",
            "in": "path",
            "name": "soundEffectId",
            "required": true,
            "schema": {
              "description": "Sound effect ID",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipSoundEffectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipSoundEffectResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a sound effect",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/sources": {
      "get": {
        "description": "Returns the underlying sources used by a clip's layers, each with the volume it plays at in this clip.",
        "operationId": "listClipSources",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipSourcesResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List sources for a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/sources/{sourceId}/thumbnail": {
      "get": {
        "description": "Get a thumbnail of a source. If you pass `width`/`height`, the aspect ratio must match the source's native ratio. Omit both to default to the source's native size.",
        "operationId": "getSourceThumbnail",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Source ID",
            "in": "path",
            "name": "sourceId",
            "required": true,
            "schema": {
              "description": "Source ID",
              "type": "string"
            }
          },
          {
            "description": "Output format. Defaults to jpg. Image sources support only still thumbnails (jpg, png or webp); gif and mp4 return a 400 error.",
            "in": "query",
            "name": "format",
            "schema": {
              "description": "Output format. Defaults to jpg. Image sources support only still thumbnails (jpg, png or webp); gif and mp4 return a 400 error.",
              "enum": [
                "jpg",
                "png",
                "webp",
                "gif",
                "mp4"
              ],
              "example": "jpg",
              "type": "string"
            }
          },
          {
            "description": "Frame offset in ms from the source's start. Defaults to 0.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Frame offset in ms from the source's start. Defaults to 0.",
              "example": 1000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
            "in": "query",
            "name": "durationMs",
            "schema": {
              "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
              "example": 3000,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Output width in pixels. The thumbnail keeps the source's aspect ratio; a missing side is derived from it.",
            "in": "query",
            "name": "width",
            "schema": {
              "description": "Output width in pixels. The thumbnail keeps the source's aspect ratio; a missing side is derived from it.",
              "example": 1280,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Output height in pixels. Derived from the source's aspect ratio when omitted.",
            "in": "query",
            "name": "height",
            "schema": {
              "description": "Output height in pixels. Derived from the source's aspect ratio when omitted.",
              "example": 720,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Suggest a download disposition on the signed URL.",
            "in": "query",
            "name": "download",
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "true"
                  ],
                  "type": "string"
                },
                {
                  "enum": [
                    "false"
                  ],
                  "type": "string"
                }
              ],
              "description": "Suggest a download disposition on the signed URL."
            }
          },
          {
            "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
            "in": "query",
            "name": "response",
            "schema": {
              "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
              "enum": [
                "json"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThumbnailResponse"
                }
              }
            },
            "description": "Returned when `?response=json` is set",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "302": {
            "description": "Redirect to the signed CDN URL",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a source thumbnail or animated preview",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/sources/{sourceId}/waveform": {
      "get": {
        "description": "Returns the audio waveform JSON for a source in BBC audiowaveform format. Use the `data` array to render a custom waveform visualization.",
        "operationId": "getSourceWaveform",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Source ID",
            "in": "path",
            "name": "sourceId",
            "required": true,
            "schema": {
              "description": "Source ID",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceWaveformResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get the audio waveform JSON for a source",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/split": {
      "post": {
        "description": "Split a clip in two at a time on its playback timeline, like the editor's split at the playhead. The clip keeps everything before `atMs`, and a new clip inserted right after it continues from there. Each cut, layout, zoom, blur, highlight and overlay goes to the part it sits on. One that spans `atMs` is split too: each part keeps its side, and a video, audio or sound effect overlay keeps playing in the second clip from where the first stopped. Both parts must play for at least 200 ms. Returns both clips in playback order; the first keeps the original clip's id.",
        "operationId": "splitClip",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SplitClipRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SplitClipResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Split a clip in two",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/storyboard": {
      "get": {
        "description": "Returns a signed 4x4 WebP storyboard whose 16 tiles are sampled evenly across the requested window (`durationMs`/16 apart; every 5 seconds for the default 80s window) from a rendered clip, including its layouts, b-roll, zooms, and masks. `startTimeMs` is on the clip's playback timeline (cuts applied). Only `startTimeMs` and `durationMs` control the storyboard; tile count, dimensions, and format are fixed. By default returns a 302 redirect — set `?response=json` to get `{url, columns, rows, intervalMs}` JSON instead.",
        "operationId": "getClipStoryboard",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          },
          {
            "description": "Start time in ms on the selected target's playback timeline. Defaults to 0.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Start time in ms on the selected target's playback timeline. Defaults to 0.",
              "example": 1000,
              "maximum": 2147483647,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Storyboard window duration in ms. Defaults to 80000; the selected target's remaining duration may shorten it. Pass the target's full duration to sample it end to end.",
            "in": "query",
            "name": "durationMs",
            "schema": {
              "description": "Storyboard window duration in ms. Defaults to 80000; the selected target's remaining duration may shorten it. Pass the target's full duration to sample it end to end.",
              "example": 30000,
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Set to 'json' to receive `{url, columns, rows, intervalMs}` instead of the default 302 redirect.",
            "in": "query",
            "name": "response",
            "schema": {
              "description": "Set to 'json' to receive `{url, columns, rows, intervalMs}` instead of the default 302 redirect.",
              "enum": [
                "json"
              ],
              "example": "json",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoryboardResponse"
                }
              }
            },
            "description": "Returned when `?response=json` is set",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "302": {
            "description": "Redirect to the signed storyboard URL",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a clip storyboard",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/text-overlays": {
      "get": {
        "description": "Returns the text overlays on a clip.",
        "operationId": "listClipTextOverlays",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipTextOverlaysResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List text overlays on a clip",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Adds a text overlay to a clip. Nothing needs uploading — pass the copy directly. Font, color, position and size all fall back to the editor's defaults.",
        "operationId": "addClipTextOverlay",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddClipTextOverlayRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipTextOverlayResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a text overlay to a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/text-overlays/{textOverlayId}": {
      "delete": {
        "description": "Removes a text overlay from a clip.",
        "operationId": "removeClipTextOverlay",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Text overlay ID",
            "in": "path",
            "name": "textOverlayId",
            "required": true,
            "schema": {
              "description": "Text overlay ID",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Text overlay removed",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a text overlay",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Update a text overlay's copy, font, color, timing, position, or dimensions. Only the fields you send are changed.",
        "operationId": "updateClipTextOverlay",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Text overlay ID",
            "in": "path",
            "name": "textOverlayId",
            "required": true,
            "schema": {
              "description": "Text overlay ID",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipTextOverlayRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipTextOverlayResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a text overlay",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/thumbnail": {
      "get": {
        "description": "Returns a signed CDN URL for a still image (jpg/png/webp) or animated preview (gif/mp4) of a clip — the rendered composite with the clip's layouts, zooms, and masks. By default returns a 302 redirect to the URL — set `?response=json` to get `{url}` JSON instead. `startTimeMs` is on the clip's playback timeline (cuts applied). `durationMs` only applies to gif/mp4.",
        "operationId": "getClipThumbnail",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          },
          {
            "description": "Output format. Defaults to jpg.",
            "in": "query",
            "name": "format",
            "schema": {
              "description": "Output format. Defaults to jpg.",
              "enum": [
                "jpg",
                "png",
                "webp",
                "gif",
                "mp4"
              ],
              "example": "jpg",
              "type": "string"
            }
          },
          {
            "description": "Frame offset in ms on the playback timeline (cuts applied) — clip-relative for the clip thumbnail, video-relative (cumulative across clips) for the video thumbnail. Defaults to 0.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Frame offset in ms on the playback timeline (cuts applied) — clip-relative for the clip thumbnail, video-relative (cumulative across clips) for the video thumbnail. Defaults to 0.",
              "example": 1000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
            "in": "query",
            "name": "durationMs",
            "schema": {
              "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
              "example": 3000,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Frame rate for MP4 previews. Must be 1, 2, 5, 10, or 30. Defaults to 30.",
            "in": "query",
            "name": "fps",
            "schema": {
              "description": "Frame rate for MP4 previews. Must be 1, 2, 5, 10, or 30. Defaults to 30.",
              "example": 10,
              "type": "number"
            }
          },
          {
            "description": "Output width in pixels. The thumbnail keeps the video's aspect ratio; a missing side is derived from it.",
            "in": "query",
            "name": "width",
            "schema": {
              "description": "Output width in pixels. The thumbnail keeps the video's aspect ratio; a missing side is derived from it.",
              "example": 1280,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Output height in pixels. Derived from the video's aspect ratio when omitted.",
            "in": "query",
            "name": "height",
            "schema": {
              "description": "Output height in pixels. Derived from the video's aspect ratio when omitted.",
              "example": 720,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Suggest a download disposition on the signed URL.",
            "in": "query",
            "name": "download",
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "true"
                  ],
                  "type": "string"
                },
                {
                  "enum": [
                    "false"
                  ],
                  "type": "string"
                }
              ],
              "description": "Suggest a download disposition on the signed URL.",
              "example": "false"
            }
          },
          {
            "description": "Draw the video's captions, as an export with subtitles does. Defaults to false.",
            "in": "query",
            "name": "subtitles",
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "true"
                  ],
                  "type": "string"
                },
                {
                  "enum": [
                    "false"
                  ],
                  "type": "string"
                }
              ],
              "description": "Draw the video's captions, as an export with subtitles does. Defaults to false.",
              "example": "true"
            }
          },
          {
            "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
            "in": "query",
            "name": "response",
            "schema": {
              "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
              "enum": [
                "json"
              ],
              "example": "json",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThumbnailResponse"
                }
              }
            },
            "description": "Returned when `?response=json` is set",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "302": {
            "description": "Redirect to the signed CDN URL",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a clip thumbnail or animated preview",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/transcript": {
      "get": {
        "description": "Returns the words spoken in a clip with cuts applied — what viewers actually hear. Times are in ms relative to the clip's playback start. Word indices are stable identifiers for cut-by-transcript; they don't shift when cuts change. Pass `startTimeMs`/`endTimeMs` to read a long clip in windows; a word belongs to the window its start time falls in. Pass `view=text` for every word with its index as plain text, one sentence per line, about a seventh of the size: read a whole long clip that way (to find retakes, repeats or where something is said), then the words view for a stretch where you need exact times. `view=sentences` gives one row per sentence instead. Pass `includeCut=true` to also get the words cuts removed, with their times in the source recording. Answers 503 while a clip that was just recorded is still being transcribed; retry after about 30 seconds.",
        "operationId": "getClipTranscript",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          },
          {
            "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Only return items at or after this time, in ms on the clip's playback timeline. Defaults to the clip's start.",
              "example": 60000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
            "in": "query",
            "name": "endTimeMs",
            "schema": {
              "description": "Only return items before this time (exclusive), in ms on the clip's playback timeline. Must be greater than `startTimeMs`. Defaults to the clip's end. Page through a long clip with windows that meet end to start.",
              "example": 120000,
              "maximum": 9007199254740991,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "`words` (default): every word with its index, times and flags. `text`: every word with its index as plain text, one sentence per line starting with its start time, about a seventh of the size, for reading a whole long clip (finding retakes, repeats or where something is said). `sentences`: one row per sentence (first and last word index, start and end time, text), about a quarter of the size. A time window cuts sentences at its edges.",
            "in": "query",
            "name": "view",
            "schema": {
              "description": "`words` (default): every word with its index, times and flags. `text`: every word with its index as plain text, one sentence per line starting with its start time, about a seventh of the size, for reading a whole long clip (finding retakes, repeats or where something is said). `sentences`: one row per sentence (first and last word index, start and end time, text), about a quarter of the size. A time window cuts sentences at its edges.",
              "enum": [
                "words",
                "sentences",
                "text"
              ],
              "example": "text",
              "type": "string"
            }
          },
          {
            "description": "`true`: also return the words that cuts removed, each marked `cut`, with every word's times in the clip's source recording (`sourceStartTimeMs`/`sourceEndTimeMs`). Use it to find footage the cuts took out, such as a retake, without undoing the cuts. Kept words still carry their playback `startTimeMs`/`endTimeMs`. `startTimeMs`/`endTimeMs` filter on the source times. Words view only.",
            "in": "query",
            "name": "includeCut",
            "schema": {
              "description": "`true`: also return the words that cuts removed, each marked `cut`, with every word's times in the clip's source recording (`sourceStartTimeMs`/`sourceEndTimeMs`). Use it to find footage the cuts took out, such as a retake, without undoing the cuts. Kept words still carry their playback `startTimeMs`/`endTimeMs`. `startTimeMs`/`endTimeMs` filter on the source times. Words view only.",
              "enum": [
                "true",
                "false"
              ],
              "example": "true",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ClipTranscriptResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ClipTranscriptSentencesResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ClipTranscriptTextResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ClipUncutTranscriptResponse"
                    }
                  ]
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get clip transcript",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/transcript/words": {
      "patch": {
        "description": "Correct what a clip's transcript says, one or more words at a time (at most 100 per request). Each edit addresses a word by its transcript `index` and sets either `text` (the corrected wording, which also unhides the word) or `hidden` (whether the word appears in captions and subtitles). Edits change the transcript, captions and subtitles only — never the audio or the clip's timing; use cut-by-transcript to remove spoken words from the video. Visibility and wording are independent: hiding a word preserves any correction made to it. The whole batch is applied atomically as a single transaction, so a request never changes only some of its words. A `500` does not by itself mean nothing changed — the words can land and a later step of the commit still fail — so treat the outcome as either fully applied or not applied at all. Every edit assigns a word outright, so re-sending the identical request is safe and settles it.",
        "operationId": "updateClipTranscriptWords",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipTranscriptWordsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateClipTranscriptWordsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Correct transcript words",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/zooms": {
      "get": {
        "description": "Returns the zoom effects on a clip.",
        "operationId": "listClipZooms",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListClipZoomsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List zooms on a clip",
        "tags": [
          "Clips"
        ]
      },
      "post": {
        "description": "Adds a zoom to the footage in the clip's Screen slot at startTimeMs — the screen recording, or b-roll media a layout puts there (the camera is unaffected). Use `manualZoom` with a `focusPoint`, or `trackingZoom` to follow the cursor.",
        "operationId": "addClipZoom",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddClipZoomRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipZoomResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a zoom to a clip",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/zooms/auto": {
      "post": {
        "description": "Generates tracking zooms from the mouse clicks in the clip's screen recording — the API twin of the editor's \"Generate zooms\". Every click opens a zoom window; nearby windows are merged. Requires the clip to contain a screen recording; returns an empty list when it has no usable mouse clicks.",
        "operationId": "generateAutoZooms",
        "parameters": [
          {
            "description": "Video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Clip identifier",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip identifier",
              "example": "cl_xyz789ghi012",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateAutoZoomsRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateAutoZoomsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Auto-generate zooms from mouse activity",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/clips/{clipId}/zooms/{zoomId}": {
      "delete": {
        "description": "Removes a zoom effect from a clip.",
        "operationId": "removeClipZoom",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Zoom ID",
            "in": "path",
            "name": "zoomId",
            "required": true,
            "schema": {
              "description": "Zoom ID",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Zoom removed",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a zoom",
        "tags": [
          "Clips"
        ]
      },
      "patch": {
        "description": "Update a zoom's type, timing, focus point, or scale. Only the fields you send are changed.",
        "operationId": "updateClipZoom",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "type": "string"
            }
          },
          {
            "description": "Clip ID",
            "in": "path",
            "name": "clipId",
            "required": true,
            "schema": {
              "description": "Clip ID",
              "type": "string"
            }
          },
          {
            "description": "Zoom ID",
            "in": "path",
            "name": "zoomId",
            "required": true,
            "schema": {
              "description": "Zoom ID",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateClipZoomRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipZoomResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a zoom",
        "tags": [
          "Clips"
        ]
      }
    },
    "/v1/videos/{id}/collaborators": {
      "post": {
        "description": "Grants access to a video for the specified user. The user must be a member of your workspace.",
        "operationId": "addCollaboratorToVideo",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddCollaboratorRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddCollaboratorResponse"
                }
              }
            },
            "description": "Collaborator added successfully",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a collaborator to a video",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/duplicate": {
      "post": {
        "description": "Creates a copy of the specified video. Optionally specify a new name for the duplicate.",
        "operationId": "duplicateVideo",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DuplicateVideoRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "video": {
                      "$ref": "#/components/schemas/VideoDetail"
                    }
                  },
                  "required": [
                    "video"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Duplicate a video",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/edits": {
      "post": {
        "description": "Adds up to 200 sound effects, text overlays, zooms, blurs, highlights, and image/video overlays across clips in one video. Operations run in array order and commit as one editor revision. Use this instead of repeated single-add requests.",
        "operationId": "applyVideoEdits",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyVideoEditsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyVideoEditsResponse"
                }
              }
            },
            "description": "Edits applied",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Apply many video edits",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/exports": {
      "get": {
        "description": "Lists all exports for the specified video with their current status, progress, and download URL when ready. Requires edit access to the video, or viewer access to a video with downloads (or raw downloads) enabled.",
        "operationId": "listVideoExports",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListExportsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List video exports",
        "tags": [
          "Videos"
        ]
      },
      "post": {
        "description": "Starts an export of the specified video. Export processing is asynchronous: poll GET /v1/videos/{id}/exports/{exportId} for status and a download URL, or listen for the export.ready webhook. Creators and editors can always export. Viewers can only start an export if the video's download settings allow it: `video` and `clips` granularity require downloads to be enabled; `tracks` and `raw` require both downloads and raw downloads to be enabled.",
        "operationId": "exportVideo",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportVideoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportVideoResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Start a video export",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/exports/{exportId}": {
      "get": {
        "description": "Returns the current status and progress of an export. The download URL appears when the export is complete. The export ID contains slashes and must be percent-encoded as a single path segment. Requires edit access to the video, or viewer access to a video with downloads (or raw downloads) enabled.",
        "operationId": "getVideoExport",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Export identifier returned when the export was started. The identifier contains slashes and must be encoded as a single path segment when constructing a URL manually.",
            "in": "path",
            "name": "exportId",
            "required": true,
            "schema": {
              "description": "Export identifier returned when the export was started. The identifier contains slashes and must be encoded as a single path segment when constructing a URL manually.",
              "example": "Export-Story-vid_abc123def456/2026-01-15T10:00:00Z/Story/1920x1080/30FPS",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetExportResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get video export status",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/live-preview": {
      "post": {
        "description": "A link to the video's live preview: a player of the editor's preview that shows each saved edit a moment later, without re-rendering. It plays without signing in until expiresAt (24 hours), so share it only with the person editing. Requires edit access.",
        "operationId": "getLivePreviewLink",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LivePreviewLink"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a live preview link",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/publish": {
      "delete": {
        "description": "Cancels a publish made with `scheduledAt` before it goes out. Only a publication that is still `queued` with a `scheduledAt` can be cancelled; once it starts going out this returns 409. Returns the publication with status `cancelled`. Requires edit access to the video.",
        "operationId": "cancelScheduledPublication",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "The scheduled publication's destination",
            "in": "query",
            "name": "destination",
            "required": true,
            "schema": {
              "description": "The scheduled publication's destination",
              "enum": [
                "youtube",
                "youtube_shorts",
                "linkedin",
                "x",
                "instagram_post",
                "instagram_reel",
                "instagram_story",
                "facebook_post",
                "facebook_story"
              ],
              "type": "string"
            }
          },
          {
            "description": "The scheduled publication's `accountId`, from GET /v1/videos/{id}/publish",
            "in": "query",
            "name": "accountId",
            "schema": {
              "description": "The scheduled publication's `accountId`, from GET /v1/videos/{id}/publish",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishVideoResponse"
                }
              }
            },
            "description": "Publish cancelled",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Cancel a scheduled publish",
        "tags": [
          "Videos"
        ]
      },
      "get": {
        "description": "Lists the latest publish of the video to each social destination and account, including publishes made in the Tella app. Poll this after POST /v1/videos/{id}/publish until the publication's status is `completed` (with the post `url`) or `failed` (with `error`). Requires edit access to the video.",
        "operationId": "listVideoPublications",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPublicationsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List social publications",
        "tags": [
          "Videos"
        ]
      },
      "post": {
        "description": "Posts the video to one of your connected social accounts: YouTube, YouTube Shorts, LinkedIn, X, Instagram (post, reel or story) or Facebook (post or story). This posts under your own account, so check the destination, text and privacy before calling it. It uploads an export with the `export` settings, reusing a finished or running one or starting one, so there is no need to export first. The account must already be connected in Tella (Settings → Connections, or Share → Publish in the editor); a 403 means it isn't, or that the plan doesn't include the export's resolution or frame rate. With several accounts connected for a destination, pass `accountId` from GET /v1/social-accounts; without it the oldest connected one posts. To post to several accounts, call once per account. TikTok can only be published from the Tella app, because TikTok requires its consent form. Returns 202 with a `queued` publication, which stays `queued` while the export renders; poll GET /v1/videos/{id}/publish for the result. To post later, pass `scheduledAt`: the publication stays `queued` with that `scheduledAt` until then, and DELETE /v1/videos/{id}/publish cancels it before it goes out. One publish per destination and account runs at a time. Requires edit access to the video.",
        "operationId": "publishVideo",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishVideoRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishVideoResponse"
                }
              }
            },
            "description": "Publish queued",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Publish a video to social media",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/recording-link": {
      "post": {
        "description": "A link the user opens to record a new clip, added at the end of the video. It opens the user's own recorder: the browser, or the Tella Mac or Windows app when they record there. A browser recording ends on a page that sends them back to the agent. The user must be signed in to Tella. To record into a new video, create an empty one first. Requires edit access.",
        "operationId": "getRecordingLink",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecordingLink"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a recording link",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/storyboard": {
      "get": {
        "description": "Returns a signed 4x4 WebP storyboard whose 16 tiles are sampled evenly across the requested window (`durationMs`/16 apart; every 5 seconds for the default 80s window) on the video's playback timeline (cuts applied, cumulative across clips). Only `startTimeMs` and `durationMs` control the storyboard; tile count, dimensions, and format are fixed. By default returns a 302 redirect — set `?response=json` to get `{url, columns, rows, intervalMs}` JSON instead.",
        "operationId": "getVideoStoryboard",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Start time in ms on the selected target's playback timeline. Defaults to 0.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Start time in ms on the selected target's playback timeline. Defaults to 0.",
              "example": 1000,
              "maximum": 2147483647,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Storyboard window duration in ms. Defaults to 80000; the selected target's remaining duration may shorten it. Pass the target's full duration to sample it end to end.",
            "in": "query",
            "name": "durationMs",
            "schema": {
              "description": "Storyboard window duration in ms. Defaults to 80000; the selected target's remaining duration may shorten it. Pass the target's full duration to sample it end to end.",
              "example": 30000,
              "maximum": 2147483647,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Set to 'json' to receive `{url, columns, rows, intervalMs}` instead of the default 302 redirect.",
            "in": "query",
            "name": "response",
            "schema": {
              "description": "Set to 'json' to receive `{url, columns, rows, intervalMs}` instead of the default 302 redirect.",
              "enum": [
                "json"
              ],
              "example": "json",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoryboardResponse"
                }
              }
            },
            "description": "Returned when `?response=json` is set",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "302": {
            "description": "Redirect to the signed storyboard URL",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a video storyboard",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/subtitle-preset": {
      "put": {
        "description": "Apply a preset returned by GET /v1/subtitle-presets. Built-in presets restore style, font, weight, and size, preserving position, grouping, and lines per block. Personal presets also restore those saved layout settings. Does not change transcript text or whether subtitles are enabled. Changes sync to open editors; reapplying the same preset is safe.",
        "operationId": "applySubtitlePreset",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "presetId": {
                    "example": "default:spotlight",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "presetId"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "preset": {
                      "$ref": "#/components/schemas/SubtitlePreset"
                    }
                  },
                  "required": [
                    "preset"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Preset applied",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Apply a subtitle preset",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/tags": {
      "get": {
        "description": "Returns the tags on a video that are visible to the authenticated user",
        "operationId": "listVideoTags",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVideoTagsResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List a video's tags",
        "tags": [
          "Tags"
        ]
      },
      "post": {
        "description": "Tag a video. Requires edit access to the video. Adding a private tag only affects the authenticated user's library.",
        "operationId": "addVideoTag",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddVideoTagRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Tag added to video",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Add a tag to a video",
        "tags": [
          "Tags"
        ]
      }
    },
    "/v1/videos/{id}/tags/{tagId}": {
      "delete": {
        "description": "Untag a video. Requires edit access to the video. Private tags can only be removed by their owner.",
        "operationId": "removeVideoTag",
        "parameters": [
          {
            "description": "Video ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Video ID",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Tag ID",
            "in": "path",
            "name": "tagId",
            "required": true,
            "schema": {
              "description": "Tag ID",
              "example": "tag_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            },
            "description": "Tag removed from video",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a tag from a video",
        "tags": [
          "Tags"
        ]
      }
    },
    "/v1/videos/{id}/thumbnail": {
      "delete": {
        "description": "Removes the custom thumbnail (uploaded image or picked frame) and reverts the video to its default auto-generated thumbnail.",
        "operationId": "removeVideoThumbnail",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": false,
                  "properties": {
                    "status": {
                      "description": "Operation status",
                      "enum": [
                        "ok"
                      ],
                      "example": "ok",
                      "type": "string"
                    }
                  },
                  "required": [
                    "status"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Thumbnail reset to default",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Remove a video's custom thumbnail",
        "tags": [
          "Videos"
        ]
      },
      "get": {
        "description": "Returns a signed CDN URL for a still image (jpg/png/webp) or animated preview (gif/mp4) of a video at a time on the video's playback timeline (cuts applied, cumulative across clips). By default returns a 302 redirect — set `?response=json` to get `{url}` JSON instead.",
        "operationId": "getVideoThumbnail",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Output format. Defaults to jpg.",
            "in": "query",
            "name": "format",
            "schema": {
              "description": "Output format. Defaults to jpg.",
              "enum": [
                "jpg",
                "png",
                "webp",
                "gif",
                "mp4"
              ],
              "example": "jpg",
              "type": "string"
            }
          },
          {
            "description": "Frame offset in ms on the playback timeline (cuts applied) — clip-relative for the clip thumbnail, video-relative (cumulative across clips) for the video thumbnail. Defaults to 0.",
            "in": "query",
            "name": "startTimeMs",
            "schema": {
              "description": "Frame offset in ms on the playback timeline (cuts applied) — clip-relative for the clip thumbnail, video-relative (cumulative across clips) for the video thumbnail. Defaults to 0.",
              "example": 1000,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
            "in": "query",
            "name": "durationMs",
            "schema": {
              "description": "Duration of the animated preview in ms. Only valid when format is gif or mp4.",
              "example": 3000,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Frame rate for MP4 previews. Must be 1, 2, 5, 10, or 30. Defaults to 30.",
            "in": "query",
            "name": "fps",
            "schema": {
              "description": "Frame rate for MP4 previews. Must be 1, 2, 5, 10, or 30. Defaults to 30.",
              "example": 10,
              "type": "number"
            }
          },
          {
            "description": "Output width in pixels. The thumbnail keeps the video's aspect ratio; a missing side is derived from it.",
            "in": "query",
            "name": "width",
            "schema": {
              "description": "Output width in pixels. The thumbnail keeps the video's aspect ratio; a missing side is derived from it.",
              "example": 1280,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Output height in pixels. Derived from the video's aspect ratio when omitted.",
            "in": "query",
            "name": "height",
            "schema": {
              "description": "Output height in pixels. Derived from the video's aspect ratio when omitted.",
              "example": 720,
              "exclusiveMinimum": true,
              "maximum": 9007199254740991,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Suggest a download disposition on the signed URL.",
            "in": "query",
            "name": "download",
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "true"
                  ],
                  "type": "string"
                },
                {
                  "enum": [
                    "false"
                  ],
                  "type": "string"
                }
              ],
              "description": "Suggest a download disposition on the signed URL.",
              "example": "false"
            }
          },
          {
            "description": "Draw the video's captions, as an export with subtitles does. Defaults to false.",
            "in": "query",
            "name": "subtitles",
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "true"
                  ],
                  "type": "string"
                },
                {
                  "enum": [
                    "false"
                  ],
                  "type": "string"
                }
              ],
              "description": "Draw the video's captions, as an export with subtitles does. Defaults to false.",
              "example": "true"
            }
          },
          {
            "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
            "in": "query",
            "name": "response",
            "schema": {
              "description": "Set to 'json' to receive `{url}` instead of the default 302 redirect.",
              "enum": [
                "json"
              ],
              "example": "json",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThumbnailResponse"
                }
              }
            },
            "description": "Returned when `?response=json` is set",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "302": {
            "description": "Redirect to the signed CDN URL",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a video thumbnail or animated preview",
        "tags": [
          "Videos"
        ]
      },
      "put": {
        "description": "Sets the video's thumbnail from either an uploaded image or a frame of the video itself. Provide exactly one of `sourceId` (an image source from `POST /v1/sources` with `kind: \"image\"` — upload the image bytes to its `uploadUrl` first) or `inpointMs` (a time on the video's playback timeline). Setting one mode clears the other.",
        "operationId": "setVideoThumbnail",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetVideoThumbnailRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetVideoThumbnailResponse"
                }
              }
            },
            "description": "Thumbnail set successfully",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Set a video's thumbnail",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/videos/{id}/timeline": {
      "get": {
        "description": "Returns a compact ordered timeline outline by default: video identity, version, dimensions and duration plus every clip's video-timeline start, playback duration and content counts. Use `include` to fetch specific video or clip details, optionally scoped by `clipIds`; the complete outline remains in every response. Use `include=all` for the complete edit state. Effect and word times are ms on each clip's playback timeline (cuts applied). Raw cuts retain the source-recording timing used by the clip endpoints.",
        "operationId": "getVideoTimeline",
        "parameters": [
          {
            "description": "Unique video identifier",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "Unique video identifier",
              "example": "vid_abc123def456",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated clip IDs to return details for. The complete ordered clip outline is always returned.",
            "in": "query",
            "name": "clipIds",
            "schema": {
              "description": "Comma-separated clip IDs to return details for. The complete ordered clip outline is always returned.",
              "example": "scn_abc123,scn_def456",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated details to include: all, settings, chapters, backgroundMusic, clipSettings, cuts, layouts, zooms, blurs, highlights, overlays, textOverlays, soundEffects, transcript, words. Default: none.",
            "in": "query",
            "name": "include",
            "schema": {
              "description": "Comma-separated details to include: all, settings, chapters, backgroundMusic, clipSettings, cuts, layouts, zooms, blurs, highlights, overlays, textOverlays, soundEffects, transcript, words. Default: none.",
              "example": "layouts,zooms,words",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTimelineResponse"
                }
              }
            },
            "description": "The video's edit state",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a video's timeline",
        "tags": [
          "Videos"
        ]
      }
    },
    "/v1/webhooks/endpoints": {
      "get": {
        "description": "Lists the webhook subscriptions owned by the authenticated API key's user. Endpoints are scoped per user rather than shared across the workspace. Events are routed to the user context that emits them; playlist.video_added is delivered to the user who adds the video, who may be a playlist editor rather than its owner.",
        "operationId": "listWebhookEndpoints",
        "parameters": [
          {
            "description": "Pagination cursor returned by the previous request",
            "in": "query",
            "name": "cursor",
            "schema": {
              "description": "Pagination cursor returned by the previous request",
              "type": "string"
            }
          },
          {
            "description": "Maximum endpoints to return (default: 20, max: 100)",
            "in": "query",
            "name": "limit",
            "schema": {
              "description": "Maximum endpoints to return (default: 20, max: 100)",
              "example": 20,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListWebhookEndpointsResponse"
                }
              }
            },
            "description": "A page of webhook endpoints",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List webhook endpoints",
        "tags": [
          "Webhooks"
        ]
      },
      "post": {
        "description": "Creates a new webhook endpoint owned by the authenticated API key's user. Events are routed to the user context that emits them; playlist.video_added is delivered to the user who adds the video, who may be a playlist editor rather than its owner. Returns the endpoint ID and signing secret.",
        "operationId": "createWebhookEndpoint",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEndpointRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateEndpointResponse"
                }
              }
            },
            "description": "Endpoint created successfully",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Create a webhook endpoint",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v1/webhooks/endpoints/{id}": {
      "delete": {
        "description": "Permanently deletes a webhook endpoint",
        "operationId": "deleteWebhookEndpoint",
        "parameters": [
          {
            "description": "The webhook endpoint ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "The webhook endpoint ID",
              "example": "ep_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteEndpointResponse"
                }
              }
            },
            "description": "Endpoint deleted successfully",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Delete a webhook endpoint",
        "tags": [
          "Webhooks"
        ]
      },
      "patch": {
        "description": "Updates the delivery URL, subscribed event types, or delivery status for a webhook endpoint.",
        "operationId": "updateWebhookEndpoint",
        "parameters": [
          {
            "description": "The webhook endpoint ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "The webhook endpoint ID",
              "example": "ep_abc123def456",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWebhookEndpointRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateWebhookEndpointResponse"
                }
              }
            },
            "description": "Endpoint updated successfully",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Update a webhook endpoint",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v1/webhooks/endpoints/{id}/secret": {
      "get": {
        "description": "Retrieves the signing secret for a webhook endpoint. Use this to verify incoming webhook payloads.",
        "operationId": "getWebhookEndpointSecret",
        "parameters": [
          {
            "description": "The webhook endpoint ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "The webhook endpoint ID",
              "example": "ep_abc123def456",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EndpointSecretResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get endpoint signing secret",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v1/webhooks/messages": {
      "get": {
        "description": "Returns a list of recently sent webhook messages for debugging purposes",
        "operationId": "listWebhookMessages",
        "parameters": [
          {
            "description": "Comma-separated list of event types to filter by",
            "in": "query",
            "name": "event_types",
            "schema": {
              "description": "Comma-separated list of event types to filter by",
              "example": "video.created,export.ready",
              "type": "string"
            }
          },
          {
            "description": "Maximum number of messages to return (default: 10)",
            "in": "query",
            "name": "limit",
            "schema": {
              "description": "Maximum number of messages to return (default: 10)",
              "example": 20,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMessagesResponse"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "List recent webhook messages",
        "tags": [
          "Webhooks"
        ]
      }
    },
    "/v1/webhooks/messages/{id}": {
      "get": {
        "description": "Returns details of a specific webhook message by ID",
        "operationId": "getWebhookMessage",
        "parameters": [
          {
            "description": "The webhook message ID",
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "description": "The webhook message ID",
              "example": "msg_abc123",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookMessage"
                }
              }
            },
            "description": "OK",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "bad_request",
                  "message": "The request was malformed or contained invalid parameters."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request was malformed or contained invalid parameters.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unauthorized",
                  "message": "Authentication is required. Provide a valid API key."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Authentication is required. Provide a valid API key.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "forbidden",
                  "message": "You don't have permission to access this resource."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You don't have permission to access this resource.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_found",
                  "message": "The requested resource was not found."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested resource was not found.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "conflict",
                  "message": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The request conflicts with the resource's current state, e.g. an Idempotency-Key whose first request is still in progress. Retry once it settles.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "429": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "rate_limited",
                  "message": "You have exceeded the rate limit. Please slow down."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "You have exceeded the rate limit. Please slow down.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Retry-After": {
                "$ref": "#/components/headers/RetryAfter"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "server_error",
                  "message": "An unexpected error occurred"
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "An unexpected error occurred",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "not_implemented",
                  "message": "The requested operation is not implemented."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "The requested operation is not implemented.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "example": {
                  "docsUrl": "https://docs.tella.com/",
                  "error": "unavailable",
                  "message": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay."
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "A dependency was unavailable and the request was not executed. Safe to resend unchanged after the Retry-After delay.",
            "headers": {
              "Deprecation": {
                "$ref": "#/components/headers/Deprecation"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimitPolicy"
              },
              "Sunset": {
                "$ref": "#/components/headers/Sunset"
              },
              "X-RateLimit-Limit": {
                "$ref": "#/components/headers/XRateLimitLimit"
              },
              "X-RateLimit-Remaining": {
                "$ref": "#/components/headers/XRateLimitRemaining"
              },
              "X-RateLimit-Reset": {
                "$ref": "#/components/headers/XRateLimitReset"
              }
            }
          }
        },
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "summary": "Get a specific webhook message",
        "tags": [
          "Webhooks"
        ]
      }
    }
  },
  "servers": [
    {
      "description": "Production",
      "url": "https://api.tella.com"
    }
  ],
  "tags": [
    {
      "description": "Video operations",
      "name": "Videos"
    },
    {
      "description": "Sections of a video",
      "name": "Clips"
    },
    {
      "description": "Playlist operations",
      "name": "Playlists"
    },
    {
      "description": "Sidebar groups for organizing playlists",
      "name": "Playlist Groups"
    },
    {
      "description": "Tags for categorizing and filtering videos",
      "name": "Tags"
    },
    {
      "description": "Tella's editor agent, working in a video: start a chat and follow it",
      "name": "Agent chats"
    },
    {
      "description": "Viewing analytics for a video or across the workspace: plays, watch time, retention, geography, referrers",
      "name": "Analytics"
    },
    {
      "description": "The signed-in user, their workspace, its plan and agent credits",
      "name": "Account"
    },
    {
      "description": "Personal, workspace, and default video backgrounds",
      "name": "Backgrounds"
    },
    {
      "description": "Reusable media saved to a workspace, plus Tella's curated sound effect and background music catalogs — the same items the editor's media panels show",
      "name": "Library"
    },
    {
      "description": "Motion graphics documents a video plays live as a Tella Motion clip, overlay or b-roll, edited with the editor's own commands",
      "name": "Tella Motion"
    },
    {
      "description": "Webhook endpoint management",
      "name": "Webhooks"
    }
  ]
}
