---
title: "Make up to 10 faceless videos"
method: POST
path: "/videos/batch"
---

# Make up to 10 faceless videos

`POST /videos/batch`

## Request

- Base URL: `https://clypmint.com/api/v1`
- URL: `https://clypmint.com/api/v1/videos/batch`
- Auth: HTTP bearer

Make up to 10 faceless videos in one call (more: batches of 10; a month of posts is plan_content), each from an idea or an exact script, with shared defaults (seconds, style_id, formats, voice: matilda/sarah/jessica/alice/liam/chris/brian/george/roger/laura/charlie/river/will/eric/bella/daniel/lily/bill/adam/callum/harry, sound_effects). Every item is checked before any starts; each is idempotent on its own operation id (operation_id.N), so a retry never makes doubles. Costs about 3 credits plus 1 a minute per video; dry_run: true answers the total and starts nothing. Returns the video ids; check each with check_video, then schedule_plan. Cost: About 4 credits per 30-second video (3 + 1 a minute, + 3 per extra format). Same as the MCP tool create_videos.

## Request body

- object
  - `items` object[], required: Up to 10 videos, each with exactly one of idea or script.
    - `idea` string
    - `script` string
    - `title` string
    - `operation_id` string: A stable ID for this request. Preserve it on retries. Use a new ID only for a deliberate new request.
    - `seconds` union
      - 15
      - 30
      - 60
    - `instructions` string
    - `style_id` string
    - `style_version` integer
    - `format` 'vertical' | 'horizontal'
    - `formats` string[]: Every shape to make, the main one first: 9:16, 16:9, 1:1, 4:5.
    - `voice` 'matilda' | 'sarah' | 'jessica' | 'alice' | 'liam' | 'chris' | 'brian' | 'george' | 'roger' | 'laura' | 'charlie' | 'river' | 'will' | 'eric' | 'bella' | 'daniel' | 'lily' | 'bill' | 'adam' | 'callum' | 'harry': The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george, roger, laura, charlie, river, will, eric, bella, daniel, lily, bill, adam, callum, harry (sarah: calm, reassuring, health and money; alice: a clear British educator; brian: deep documentary; liam: energetic ads). Leave out to let Clypmint pick one that fits the words. "Voice: <name>" in instructions does the same.
    - `sound_effects` boolean
    - `purpose` 'organic' | 'ad' | 'youtube' | 'sales_page': organic (a post), ad (three openings by default), youtube (horizontal), sales_page.
    - `asset_ids` string[]
    - `music_staging_key` string
  - `defaults` object: Settings every item gets unless it says otherwise.
    - `seconds` union
      - 15
      - 30
      - 60
    - `instructions` string
    - `style_id` string
    - `style_version` integer
    - `format` 'vertical' | 'horizontal'
    - `formats` string[]: Every shape to make, the main one first: 9:16, 16:9, 1:1, 4:5.
    - `voice` 'matilda' | 'sarah' | 'jessica' | 'alice' | 'liam' | 'chris' | 'brian' | 'george' | 'roger' | 'laura' | 'charlie' | 'river' | 'will' | 'eric' | 'bella' | 'daniel' | 'lily' | 'bill' | 'adam' | 'callum' | 'harry': The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george, roger, laura, charlie, river, will, eric, bella, daniel, lily, bill, adam, callum, harry (sarah: calm, reassuring, health and money; alice: a clear British educator; brian: deep documentary; liam: energetic ads). Leave out to let Clypmint pick one that fits the words. "Voice: <name>" in instructions does the same.
    - `sound_effects` boolean
    - `purpose` 'organic' | 'ad' | 'youtube' | 'sales_page': organic (a post), ad (three openings by default), youtube (horizontal), sales_page.
    - `asset_ids` string[]
    - `music_staging_key` string
  - `operation_id` string, required: A stable ID for this request. Preserve it on retries. Use a new ID only for a deliberate new request.
  - `dry_run` boolean: true: answer the credit cost and start nothing.

## Response `200`

Make up to 10 faceless videos

- Result: The tool result, as the MCP tool of the same name returns it.

## Other responses

- `400`: The request is invalid. The message names each field to fix.
- `401`: A valid bearer token (API key or OAuth access token) is required.
- `402`: This account has no allowance left for this, or does not include it. error.checkout_url is where to add it.
- `403`: This needs publishing permission (scope clypmint.publish), or is not open on this account yet.
- `404`: The video, upload, memory or calendar was not found in this account.
- `409`: Busy: an upload or edit is already running, the video changed, or too many upload links are waiting.
- `413`: The request body is too large.
- `422`: Clypmint could not apply it as asked; error.problems names each part.
- `429`: A daily limit was reached (direct edits, caption fixes, upload links).
- `501`: This is not available on Clypmint yet; the message says what to use instead.
- `503`: Clypmint is busy. Try again in a moment.

---

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