---
title: "Create a remix"
method: POST
path: "/v1/remixes"
tags: ["Remix"]
---

# Create a remix

`POST /v1/remixes`

## Request

- Base URL: `https://api.vidocu.ai`
- URL: `https://api.vidocu.ai/v1/remixes`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://vidocu.ai/oauth/authorize`, token URL `https://api.vidocu.ai/oauth/token`)

From a workspace video (videoId) or an external URL (videoUrl + durationSec). Pass `plan` for a webinar remix: real-speaker clips, a recap video and posts. Creating doesn't analyze — call analyze next.

**Scope:** `remixes:write`

**Role permission:** `canCreate` (OAuth only — API keys carry full workspace permissions)

## Request body

- object
  - `title` string
  - `videoId` string
  - `videoUrl` string, uri
  - `durationSec` number
  - `projectId` string
  - `plan` object
    - `outputs` object, required
      - `clips` object: Vertical 9:16 clips of the real speaker
        - `count` union, required
          - 'auto'
          - integer
        - `length` 'auto' | 'lt30' | '30to60' | '60to90', required
        - `tone` 'marketing' | 'educational', required
      - `recap` object: A 16:9 highlights video
        - `targetSec` union, required
          - 60
          - 120
          - 180
          - 300
      - `text` object
        - `blog` boolean, required
        - `linkedin` boolean, required
        - `x` boolean, required
        - `quotes` boolean, required
    - `focus` string: A topic to favour when picking moments
    - `range` object: Seconds of the source to use; at most 90 minutes
      - `start` number, required
      - `end` number, required
    - `language` string: Spoken language code; detected when omitted
    - `cleanup` object, required
      - `voice` boolean, required
      - `fillers` boolean, required
      - `longPauses` boolean, required

## Response `201`

Created

## Other responses

- `400`: Validation error
- `401`: Invalid or missing credentials
- `402`: Not enough balance for a video this long
- `403`: Missing scope (`insufficient_scope`), insufficient role (`insufficient_role`), or quota exhausted (`limit_exceeded`)
- `429`: Rate limit exceeded (60 req/min)
- `500`: Server error

---

[API](https://skmtc.dev/vidocu/apis/vidocu-api.md) · [All operations](https://skmtc.dev/vidocu/apis/vidocu-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vidocu/apis/vidocu-api/revisions/cc813d2ca5d2?raw)
