---
title: "Split a narration script into scenes (free)"
method: POST
path: "/v1/generate/scenes"
---

# Split a narration script into scenes (free)

`POST /v1/generate/scenes`

## Request

- Base URL: `https://api.ffmpeg-micro.com`
- URL: `https://api.ffmpeg-micro.com/v1/generate/scenes`
- Auth: HTTP bearer

Break a script into ordered scenes, each with the narration for that scene (same language as the input) and an English image prompt for it. Free: it is the step you iterate on before committing to paid images and speech. Rate limited to 60 requests per minute per API key.

## Request body

- GenerateScenesRequest
  - `script` string, required: The narration script, any language
  - `max_scenes` integer

## Response `200`

Scenes

- GenerateScenesResponse
  - `scenes` GenerateScene[]
    - `text` string: Narration for this scene
    - `image_prompt` string: English visual description for an image generator
  - `tokens_charged` number

## Other responses

- `400`: Invalid input
- `401`: Missing/invalid API key
- `429`: Per-API-key rate limit exceeded (free routes 60/min, paid routes 30/min); see `x-ratelimit-*` headers
- `502`: The provider failed; any tokens spent were refunded unless `refund` says otherwise

---

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