---
title: "Preview or apply generated subtitles from script or audio-asset transcript into timeline track with beat-synced kinetic text"
method: POST
path: "/api/video/subtitles"
tags: ["video", "ai"]
---

# Preview or apply generated subtitles from script or audio-asset transcript into timeline track with beat-synced kinetic text

`POST /api/video/subtitles`

## Request body

- object
  - `action` 'preview' | 'apply'
  - `transcript` string
  - `audioAssetId` string
  - `tone` string
  - `locale` string
  - `stylePresetId` string
  - `trendKeywords` string[]
  - `syncToBeatGrid` boolean
  - `bpm` integer
  - `beatOffsetMs` integer
  - `projectId` string
  - `trackId` string

## Response `200`

Subtitle preview payload

## Other responses

- `201` — Subtitles applied to timeline
- `400` — Validation error
- `404` — Preset or timeline project not found

---

[API](https://skmtc.net/memesio/apis/memesio-api-contracts.md) · [All operations](https://skmtc.net/memesio/apis/memesio-api-contracts/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/memesio/memesio-api-contracts/revisions/826e6edbf294/schema)
