---
title: "音声を作る（MP4 の前に必須）"
method: POST
path: "/api/v1/projects/{projectId}/audio/generate"
tags: ["projects"]
---

# 音声を作る（MP4 の前に必須）

`POST /api/v1/projects/{projectId}/audio/generate`

## Request

- Base URL: `https://app.yukkurigen.com`
- URL: `https://app.yukkurigen.com/api/v1/projects/{projectId}/audio/generate`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

## Path parameters

- `projectId` string, required

## Headers

- `Prefer` 'respond-async'

## Request body

- object
  - `lineIds` string[]: 対象の行ID（`get_project` の `lines[].id`）。**省略すると、音声が無い行と、読みの辞書の変更で読みが変わった行（`audio_stale`）すべて。**指定した行のうち、音声があって読みも変わっていない行は force が無ければ作らない
  - `force` boolean: 既に音声がある行も作り直す（既定 false）

## Response `200`

合成した行数（同期パス。Prefer なしの呼び出しをサーバが待つ設定で、待つ間にジョブが終わったときも同じ形）

- object
  - `success` boolean
  - `generated` integer
  - `failed` integer
  - `skipped` integer
  - `results` object[]

## Other responses

- `202`: 非同期ジョブを受け付けた（Prefer: respond-async を付け、サーバの設定でジョブが使えるとき。Prefer なしでサーバが待つ設定のとき、待つ間に終わらなければ Preference-Applied なしで返る）
- `400`: lineIds の形が不正（配列・1〜1000件）。
- `401`: 未認証
- `403`: 権限不足（audio:generate / code: insufficient_scope）
- `404`: 見つからない
- `429`: レート制限（code: rate_limited。retryAfter 秒待って再試行）か、月の文字数の上限に達している（code: tts_quota_exceeded。limit / used / resetAt が付く。待っても resetAt まで戻らない）。Prefer の有無・サーバの設定にかかわらず、ジョブを作る前に返る

## Changes

- **2026-10-20** `ba5f36b016da`: 25 warning, 15 info
  - added the new `already_subscribed` enum value to the `code` response property for the response status `400`
  - added the new `already_subscribed` enum value to the `code` response property for the response status `401`
  - added the new `already_subscribed` enum value to the `code` response property for the response status `403`
  - added the new `already_subscribed` enum value to the `code` response property for the response status `404`
  - …36 more

[Operation history](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api/changes/api/v1/projects/:projectId/audio/generate/post.md)

---

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