---
title: "Render chosen candidates."
method: POST
path: "/clipper/plans/{id}/generate"
tags: ["AI Clipper"]
---

# Render chosen candidates.

`POST /clipper/plans/{id}/generate`

## Request

- Base URL: `https://wowreveal.com/api/v1`
- URL: `https://wowreveal.com/api/v1/clipper/plans/{id}/generate`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `candidateIds` string[], required
  - `settings` object
    - `captionStyle` string
    - `layout` 'auto' | 'focus' | 'general' | 'split' | 'screen'
    - `headline` boolean
    - `progressBar` boolean
    - `trimPauses` boolean
    - `music` union
      - string
      - integer
    - `logoAssetId` integer, nullable
    - `captionPosition` 'low' | 'middle' | 'high'
  - `cuts` object

## Response `201`

Success

- object
  - `projects` Project[], required
    - `id` string, required: The project's public id.
    - `name` string
    - `tool` 'story' | 'transformation' | 'clips' | 'clip' | 'compilation'
    - `status` 'queued' | 'processing' | 'complete' | 'failed' | 'expired', required
    - `step` string
    - `progress` integer
    - `errorCode` string, nullable
    - `errorMessage` string, nullable
    - `retryable` boolean
    - `title` string, nullable
    - `durationSec` number, nullable
    - `videoUrl` string, uri, nullable: Signed link, valid 24 hours.
    - `downloadUrl` string, uri, nullable
    - `thumbnailUrl` string, uri, nullable
    - `captionsUrl` string, uri, nullable
    - `creditsCharged` integer
    - `creditsRefunded` integer
    - `createdAt` string, date-time
    - `completedAt` string, date-time, nullable
    - `expiresAt` string, date-time, nullable
  - `creditsCharged` integer, required
  - `balance` integer, required

## Other responses

- `400`: Invalid request (VALIDATION_ERROR and other 400 codes).
- `401`: Missing or revoked API key (INVALID_API_KEY).
- `403`: The plan has no API access, or the account is blocked.
- `429`: Rate limit (RATE_LIMITED) — see the Retry-After header.

---

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