---
title: "POST /v1/videos/{videoId}/complete"
method: POST
path: "/v1/videos/{videoId}/complete"
tags: ["Demos"]
---

# POST /v1/videos/{videoId}/complete

`POST /v1/videos/{videoId}/complete`

## Request

- Base URL: `https://api.taada.dev`
- URL: `https://api.taada.dev/v1/videos/{videoId}/complete`
- Auth: HTTP bearer

## Path parameters

- `videoId` string, uuid, required

## Request body

- object
  - `cameraPlan` object
    - `width` number, required
    - `height` number, required
    - `focus` object[], required
    - `clicks` object[], required
  - `captureScale` union
    - 1
    - 2
  - `durationS` integer
  - `segments` object[]
    - `i` integer, required
    - `text` string, required
    - `atS` number, required
  - `chapters` object[]
    - `journey_id` string, required
    - `name` string, required
    - `at_s` number, required
    - `result` 'passed' | 'failed' | 'skipped', required
  - `clean` object
    - `framesHash` string, required
    - `kind` 'frames' | 'call'
  - `appOnly` boolean
  - `loop` boolean
  - `appViewport` object
    - `width` integer, required
    - `height` integer, required
  - `addresses` object[]
    - `at_s` number, required
    - `url` string, required
  - `voice` string
  - `voiceId` string
  - `presentation` object
    - `captionStyle` string, required
    - `cursorStyle` string, required
  - `measured` object
    - `captionLines` integer
    - `luma` object
      - `mean` number, required
      - `min` number, required
      - `max` number, required
    - `voiceLufs` number, nullable
    - `voicePeakDb` number, nullable
    - `frameRange` number[]
    - `voice` object
      - `by` 'provider' | 'open' | 'both' | 'none', required
      - `open` string[]
      - `stoodInForClone` boolean
      - `providerError` string
      - `openError` string
      - `openCode` string
      - `openMs` number
  - `attestation` object
    - `recorderVersion` string, required
    - `verified` boolean, required
    - `checkpoints` string[]

## Response `200`

Default Response

## Changes

- **2026-10-20** `9079c5c8a580`: 1 info
  - added the new optional request property `loop`

[Operation history](https://skmtc.dev/taada/apis/tada/changes/v1/videos/:videoId/complete/post.md)

---

[API](https://skmtc.dev/taada/apis/tada.md) · [All operations](https://skmtc.dev/taada/apis/tada/llms.txt) · [OpenAPI document](https://skmtc.dev/taada/apis/tada/revisions/9079c5c8a580?raw)
