> ## Documentation Index
> Fetch the complete documentation index at: https://evolink.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Qwen Audio 3.1 TTS Flash 音声合成

> - テキストを音声に変換します。1 回あたり最大 `5000` 文字
- 68 種類のシステム音声は[音声一覧](/ja/api-manual/audio-series/qwen-audio-tts/qwen-audio-3.1-tts-flash-voices)を参照してください。[Voice Enrollment](/ja/api-manual/audio-series/qwen-audio-tts/voice-enrollment) で自分が複製・設計した音声も使用できます
- カスタム音声はデフォルトで作成タスク完了から `6 時間`で期限切れになります。以後の合成は `404`（`voice_expired`）を返すため、Voice Enrollment で再作成してください
- 自然言語の指示（`instruction`）、テキスト内の感情・非言語音タグ、SSML、発音のカスタマイズ（`hot_fix`）に対応
- 以下に記載されたパラメータのみ受け付けます。それ以外は `400`（`unsupported_parameter`）
- 非同期処理です。返されたタスク ID で[結果を照会](/ja/api-manual/task-management/get-task-detail)してください
- 送信後はキャンセルできません
- 生成音声のリンクは 24 時間有効です。早めに保存してください

**課金：**
- 実際のトークン使用量で課金します。入力トークン（テキスト長に関連）と出力トークン（音声の長さに関連）は別々に計算されます
- 送信時にテキスト長からクレジットを予約します（`usage.credits_reserved`）。完了後に実使用量で精算し、余剰分を返還、不足分を追加請求します。失敗時は全額返還
- 数字・文字・記号を一つずつ読み上げると、同じ長さの通常の文章より音声が長くなり、出力トークンも増えます。実際の消費が予約額を超える場合があります
- 同じテキストでも `[very slowly]` などの指示・タグでゆっくり話すと出力トークンが大幅に増えることがあります。`speech_rate` の調整や SSML のポーズは出力トークンを増やしません

**タスク結果（`status` が `completed` の場合）：**

| フィールド | 説明 |
|---|---|
| `results[0]` | 音声 URL |
| `result_data[0].audio_url` | 音声 URL。`results[0]` と同じ |
| `result_data[0].format` | 音声形式 |
| `result_data[0].sample_rate` | サンプルレート（Hz） |
| `usage.input_tokens` / `usage.output_tokens` / `usage.total_tokens` | 今回の合成のトークン使用量 |
| `usage.credits_used` | 実際に消費したクレジット |



## OpenAPI

````yaml ja/api-manual/audio-series/qwen-audio-tts/qwen-audio-3.1-tts-flash.json POST /v1/audios/generations
openapi: 3.1.0
info:
  title: Qwen Audio 3.1 TTS Flash 音声合成 API
  description: >-
    テキストを音声に変換します。68
    種類のシステム音声、自然言語の指示、感情タグ、SSML、発音のカスタマイズに対応し、実際のトークン使用量に基づいて課金されます。
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: 本番環境
security:
  - bearerAuth: []
tags:
  - name: 音声合成
    description: Qwen Audio 3.1 TTS Flash 音声合成エンドポイント
paths:
  /v1/audios/generations:
    post:
      tags:
        - 音声合成
      summary: Qwen Audio 3.1 TTS Flash 音声合成
      description: >-
        - テキストを音声に変換します。1 回あたり最大 `5000` 文字

        - 68
        種類のシステム音声は[音声一覧](/ja/api-manual/audio-series/qwen-audio-tts/qwen-audio-3.1-tts-flash-voices)を参照してください。[Voice
        Enrollment](/ja/api-manual/audio-series/qwen-audio-tts/voice-enrollment)
        で自分が複製・設計した音声も使用できます

        - カスタム音声はデフォルトで作成タスク完了から `6 時間`で期限切れになります。以後の合成は
        `404`（`voice_expired`）を返すため、Voice Enrollment で再作成してください

        - 自然言語の指示（`instruction`）、テキスト内の感情・非言語音タグ、SSML、発音のカスタマイズ（`hot_fix`）に対応

        - 以下に記載されたパラメータのみ受け付けます。それ以外は `400`（`unsupported_parameter`）

        - 非同期処理です。返されたタスク ID
        で[結果を照会](/ja/api-manual/task-management/get-task-detail)してください

        - 送信後はキャンセルできません

        - 生成音声のリンクは 24 時間有効です。早めに保存してください


        **課金：**

        - 実際のトークン使用量で課金します。入力トークン（テキスト長に関連）と出力トークン（音声の長さに関連）は別々に計算されます

        -
        送信時にテキスト長からクレジットを予約します（`usage.credits_reserved`）。完了後に実使用量で精算し、余剰分を返還、不足分を追加請求します。失敗時は全額返還

        -
        数字・文字・記号を一つずつ読み上げると、同じ長さの通常の文章より音声が長くなり、出力トークンも増えます。実際の消費が予約額を超える場合があります

        - 同じテキストでも `[very slowly]`
        などの指示・タグでゆっくり話すと出力トークンが大幅に増えることがあります。`speech_rate` の調整や SSML
        のポーズは出力トークンを増やしません


        **タスク結果（`status` が `completed` の場合）：**


        | フィールド | 説明 |

        |---|---|

        | `results[0]` | 音声 URL |

        | `result_data[0].audio_url` | 音声 URL。`results[0]` と同じ |

        | `result_data[0].format` | 音声形式 |

        | `result_data[0].sample_rate` | サンプルレート（Hz） |

        | `usage.input_tokens` / `usage.output_tokens` / `usage.total_tokens` |
        今回の合成のトークン使用量 |

        | `usage.credits_used` | 実際に消費したクレジット |
      operationId: createQwenAudio31TtsFlash
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QwenAudioTtsRequest'
            examples:
              basic:
                summary: 最小構成（デフォルト音声）
                value:
                  model: qwen-audio-3.1-tts-flash
                  prompt: 我家的后面有一个很大的花园。
              aliases:
                summary: テキストと形式の別名を使用
                value:
                  model: qwen-audio-3.1-tts-flash
                  input: 我家的后面有一个很大的花园。
                  format: mp3
              with_voice:
                summary: 音声と出力形式を指定
                value:
                  model: qwen-audio-3.1-tts-flash
                  prompt: 各位听众朋友，大家好，欢迎收听晚间新闻。
                  voice: xuyanchu_v3.1
                  response_format: wav
                  sample_rate: 48000
              expressive:
                summary: 指示と感情タグ
                value:
                  model: qwen-audio-3.1-tts-flash
                  prompt: '[excited]今天的天气真不错！[laughing]我们一起出去玩吧！'
                  voice: longanhuan_v3.1
                  instruction: 用欢快、热情的语气说
              english:
                summary: 英語の音声
                value:
                  model: qwen-audio-3.1-tts-flash
                  prompt: Hello, this is 110. Please leave a message after the tone.
                  voice: Emily_v3.1
                  language: en
                  speech_rate: 0.9
              ssml:
                summary: SSML によるポーズ
                value:
                  model: qwen-audio-3.1-tts-flash
                  prompt: <speak>欢迎收听今天的节目。<break time="1s"/>我们马上开始。</speak>
                  enable_ssml: true
              full_params:
                summary: 全パラメータ
                value:
                  model: qwen-audio-3.1-tts-flash
                  prompt: 今天的天气真不错，适合出去走走。
                  voice: yuxiaoyun_v3.1
                  response_format: mp3
                  sample_rate: 24000
                  volume: 60
                  speech_rate: 1.1
                  pitch: 1
                  instruction: 语气轻松自然，像在和朋友聊天
                  language: zh
                  enable_ssml: false
                  hot_fix:
                    pronunciation:
                      - 天气: tian1 qi4
                    replace:
                      - 走走: 走一走
                  enable_aigc_tag: false
                  callback_url: https://your-domain.com/webhooks/tts-completed
      responses:
        '200':
          description: 音声合成タスクの作成に成功
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QwenAudioTtsResponse'
        '400':
          description: リクエストパラメータが無効
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missing_prompt:
                  summary: prompt が未指定
                  value:
                    error:
                      code: missing_prompt
                      message: prompt is required for qwen-audio-3.1-tts-flash
                      type: invalid_request_error
                prompt_too_long:
                  summary: prompt が 5000 文字を超過
                  value:
                    error:
                      code: prompt_too_long
                      message: prompt must be at most 5000 characters, got 5210
                      type: invalid_request_error
                prompt_too_long_after_replace:
                  summary: hot_fix.replace 適用後に 5000 文字を超過
                  value:
                    error:
                      code: prompt_too_long
                      message: >-
                        prompt must be at most 5000 characters after
                        hot_fix.replace is applied, got 5120
                      type: invalid_request_error
                hot_fix_too_many_entries:
                  summary: hot_fix が 200 エントリを超過
                  value:
                    error:
                      code: invalid_parameter
                      message: >-
                        hot_fix may contain at most 200 entries in total, got
                        201
                      type: invalid_request_error
                invalid_voice:
                  summary: 対応一覧にない音声
                  value:
                    error:
                      code: invalid_voice
                      message: >-
                        voice "longanhuan" is not available for
                        qwen-audio-3.1-tts-flash; use a system voice from the
                        voice list or a voice you created with voice-enrollment
                      type: invalid_request_error
                instruction_too_long:
                  summary: instruction が課金換算で 100 文字を超過
                  value:
                    error:
                      code: instruction_too_long
                      message: >-
                        instruction must be at most 100 billing characters (CJK
                        characters count as 2), got 124
                      type: invalid_request_error
                wrong_parameter_name:
                  summary: パラメータ名の誤り（instructions）
                  value:
                    error:
                      code: unsupported_parameter
                      message: instructions is not supported; use "instruction"
                      type: invalid_request_error
                unsupported_parameter:
                  summary: 未対応のパラメータを指定
                  value:
                    error:
                      code: unsupported_parameter
                      message: seed is not supported for qwen-audio-3.1-tts-flash
                      type: invalid_request_error
                opus_sample_rate:
                  summary: opus で未対応のサンプルレート
                  value:
                    error:
                      code: invalid_parameter
                      message: >-
                        sample_rate 44100 is not supported with
                        response_format=opus; use one of: 8000, 12000, 16000,
                        24000, 48000
                      type: invalid_request_error
        '401':
          description: 未認証、トークンが無効または期限切れ
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: クォータ不足、チャージが必要
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: insufficient_quota
                  message: Insufficient quota. Please top up your account.
                  type: insufficient_quota
        '403':
          description: アクセス権限がありません
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: >-
                    Token does not have access to model:
                    qwen-audio-3.1-tts-flash
                  type: invalid_request_error
        '404':
          description: 音声が存在しないか有効期限切れ
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                voice_not_found:
                  summary: 音声が存在しないか別のアカウントに所属
                  value:
                    error:
                      code: voice_not_found
                      message: >-
                        voice
                        "qwen-audio-3.1-tts-flash-myvoice-5996beec833d41f4982158347ba97fae"
                        not found
                      type: invalid_request_error
                voice_expired:
                  summary: カスタム音声の有効期限切れ、再作成が必要
                  value:
                    error:
                      code: voice_expired
                      message: >-
                        voice
                        "qwen-audio-3.1-tts-flash-myvoice-5996beec833d41f4982158347ba97fae"
                        has expired; create a new one with voice-enrollment
                      type: invalid_request_error
        '429':
          description: リクエスト頻度の上限を超過
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: rate_limit_exceeded
                  message: Too many requests, please try again later
                  type: rate_limit_error
        '500':
          description: サーバー内部エラー
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
components:
  schemas:
    QwenAudioTtsRequest:
      type: object
      required:
        - model
      description: >-
        `prompt` または `input`
        の少なくとも一方に空でないテキストを指定してください。両方指定する場合は内容が一致している必要があります。`response_format` と
        `format` も、両方指定する場合は値が一致している必要があります。
      anyOf:
        - required:
            - prompt
          properties:
            prompt:
              pattern: \S
        - required:
            - input
          properties:
            input:
              pattern: \S
      properties:
        model:
          type: string
          description: モデル名
          enum:
            - qwen-audio-3.1-tts-flash
          default: qwen-audio-3.1-tts-flash
          example: qwen-audio-3.1-tts-flash
        prompt:
          type: string
          description: >-
            合成するテキスト


            **制約：**

            - 最大 `5000` 文字

            - 長いテキストでは句読点を残してください。文の区切りがない長文は、上流で約 `1500` 出力トークン（約 120
            秒の音声）に切り詰められることがあります。タスクは成功扱いのまま、実際に生成したトークンで課金され、ゲートウェイはこの切り詰めを検出できません

            - `input` でも指定できます。少なくとも一方に空でないテキストが必要です。片方のみの指定を推奨します。両方の内容が異なる場合は
            `400`（`parameter_conflict`）

            - 選択した音声が対応する言語のテキストを使用してください。非対応言語では発音が不正確になる場合があります


            **感情・非言語音タグ：** 追加パラメータなしでテキスト内に直接挿入できます。タグの文字列も課金換算の文字数に含まれます

            - **制御タグ**: 次の制御タグまで、後続テキストの感情やスタイルを設定します。 `[sad]` 悲しい, `[amazed]`
            驚いた, `[deep and loud shouting]` 低く大きな叫び, `[trembling]` 震えた声,
            `[angry]` 怒り, `[excited]` 興奮, `[sarcastic]` 皮肉, `[curious]` 好奇心,
            `[like dracula]` 低く不気味, `[bored]` 退屈, `[tired]` 疲れ, `[scornful]` 軽蔑,
            `[shouting]` 叫び, `[asmr]` ASMR の柔らかなささやき, `[panicked]` パニック,
            `[mischievously]` いたずらっぽい, `[empathetic]` 共感, `[whispers]` ささやき,
            `[reluctantly]` 不本意, `[crying]` 泣き声, `[serious]` 真剣, `[very slowly]`
            非常にゆっくり, `[very fast]` 非常に速く

            - **非言語音タグ**: その位置に発声効果を挿入します。前後のテキストの感情は変えません。 `[gasp]` 息をのむ,
            `[sighing]` ため息, `[clears throat]` 咳払い, `[giggles]` くすくす笑い,
            `[laughing]` 笑い声, `[cough]` 咳, `[snorts]` 鼻を鳴らす


            **例：** `[excited]今天的天气真不错！[laughing]我们一起出去玩吧！`


            `enable_ssml` が `true` の場合、このフィールドを SSML として解析します
          maxLength: 5000
          example: 我家的后面有一个很大的花园。
        input:
          type: string
          description: |-
            `prompt` の別名です。文字数制限と使用規則は同じです

            - `prompt` または `input` の少なくとも一方に空でないテキストを指定
            - 両方指定する場合は内容が一致する必要があります。不一致は `400`（`parameter_conflict`）
          maxLength: 5000
          example: 我家的后面有一个很大的花园。
        voice:
          type: string
          description: >-
            音声名。大文字と小文字を区別します


            - 68
            種類のシステム音声の名称・性別・用途は[音声一覧](/ja/api-manual/audio-series/qwen-audio-tts/qwen-audio-3.1-tts-flash-voices)を参照

            - 未指定時は `longanhuan_v3.1`

            - 自分が [Voice
            Enrollment](/ja/api-manual/audio-series/qwen-audio-tts/voice-enrollment)
            で作成した音声も使用可能です。複製は
            `qwen-audio-3.1-tts-flash-{prefix}-{32-character-id}`、設計は
            `qwen-audio-3.1-tts-flash-vd-{prefix}-{32-character-id}`
            形式です。作成したアカウントのみ使用できます。`qwen-voice-design` の `qwen-tts-vd-…`
            など別モデルの音声は `400`（`invalid_voice`）。存在しない音声や別アカウントの音声は
            `404`（`voice_not_found`）

            - カスタム音声はデフォルトで作成タスク完了から `6 時間`で期限切れになります。以後の合成は
            `404`（`voice_expired`）。Voice Enrollment で再作成してください
          default: longanhuan_v3.1
          example: longanhuan_v3.1
        response_format:
          type: string
          description: >-
            出力音声形式。`mp3`、`wav`、`opus` に対応し、デフォルトは `mp3`


            - `opus` は Ogg Opus コンテナ

            - `format` でも指定可能です。片方のみの指定を推奨します。値が異なる場合は
            `400`（`parameter_conflict`）
          enum:
            - mp3
            - wav
            - opus
          default: mp3
          example: mp3
        format:
          type: string
          description: |-
            `response_format` の別名。`mp3`、`wav`、`opus` に対応

            - 両方未指定の場合は `mp3`
            - 両方指定する場合は値の一致が必要です。不一致は `400`（`parameter_conflict`）
          enum:
            - mp3
            - wav
            - opus
          example: mp3
        sample_rate:
          type:
            - integer
            - 'null'
          description: |-
            出力サンプルレート（Hz）

            - `response_format` が `opus` の場合、`22050` と `44100` は非対応
            - 未指定または `null` はデフォルト値を使用。`0` または一覧以外の値は `400`
          enum:
            - 8000
            - 12000
            - 16000
            - 22050
            - 24000
            - 44100
            - 48000
            - null
          default: 24000
          example: 24000
        volume:
          type: integer
          description: 音量。範囲は `0` ～ `100`
          minimum: 0
          maximum: 100
          default: 50
          example: 50
        speech_rate:
          type: number
          description: |-
            話速の倍率

            - `1.0`：通常の速度（デフォルト）
            - `2.0`：2 倍速、`0.5`：半分の速度

            範囲は `0.5` ～ `2.0`。話速の調整は出力トークン数を変えません
          minimum: 0.5
          maximum: 2
          default: 1
          example: 1
        pitch:
          type: number
          description: >-
            ピッチの倍率


            - `1.0`：デフォルトの高さ

            - `1.0` より大きいと高く、小さいと低くなります


            範囲は `0.5` ～ `2.0`


            **ピッチの変更は話速と音声の長さも変えます**

            - 高くすると速く短く、低くすると遅く長くなります。長さはおおむねピッチ値の二乗に反比例します

            - `1.0` で約 2.8 秒の文の場合、`0.8` で約 4.3 秒、`1.2` で約 2.1 秒、`0.5` で約 10.9
            秒、`2.0` で約 0.7 秒

            - `0.8` ～ `1.2` の微調整を推奨します。`0.5` や `2.0` に近いと明らかに遅すぎたり速すぎたりします

            - `speech_rate` も `1.0` 以外で指定した場合、`pitch` は無効です。併用して効果を重ねることはできません

            - ピッチの調整は出力トークン数を変えません
          minimum: 0.5
          maximum: 2
          default: 1
          example: 1
        instruction:
          type: string
          description: >-
            感情、口調、役柄、方言などを制御する自然言語の指示


            **制約：**

            - 課金換算で最大 `100` 文字。漢字（日本語の漢字や韓国語の漢字も含む）は 2、その他の文字（仮名・ハングルを含む）は 1
            と数えます（漢字約 50 文字または英語約 100 文字）。超過は `400`


            **例：**

            - `用欢快、热情的语气说`（明るく熱意のある口調）

            - `请用上海话表达`（上海語で話す。多言語・方言音声向け）

            - `Speak slowly in a calm and gentle tone`


            指示自体は入力トークンに含まれませんが、生成音声の長さを変え、出力トークンに影響することがあります


            > パラメータ名は単数形の `instruction` です。`instructions` は `400`
          example: 用欢快、热情的语气说
        language:
          type: string
          description: |-
            対象言語のヒント。数字・略語・記号の読み方や、比較的少数の言語での合成を改善します

            例：`hello, this is 110` に `zh` を指定すると、`110` を中国語の「yao yao ling」と読みます

            | 値 | 言語 | 値 | 言語 |
            |---|---|---|---|
            | `zh` | 中国語 | `th` | タイ語 |
            | `en` | 英語 | `id` | インドネシア語 |
            | `fr` | フランス語 | `vi` | ベトナム語 |
            | `de` | ドイツ語 | `es` | スペイン語 |
            | `ja` | 日本語 | `it` | イタリア語 |
            | `ko` | 韓国語 | `ms` | マレー語 |
            | `ru` | ロシア語 | `fil` | フィリピン語 |
            | `pt` | ポルトガル語 | `ar` | アラビア語 |

            未指定時はモデルが自動判定します。このパラメータはテキストを翻訳しません
          enum:
            - zh
            - en
            - fr
            - de
            - ja
            - ko
            - ru
            - pt
            - th
            - id
            - vi
            - es
            - it
            - ms
            - fil
            - ar
          example: zh
        enable_ssml:
          type: boolean
          description: |-
            `prompt` を SSML として解析するかどうか

            有効にすると SSML タグを使用できます。例えば `<break time="1s"/>` でポーズを挿入します：
            `<speak>欢迎收听今天的节目。<break time="1s"/>我们马上开始。</speak>`

            SSML のポーズは出力トークンに含まれません
          default: false
          example: false
        hot_fix:
          type: object
          description: >-
            多音字や固有名詞などの読みを補正する発音指定とテキスト置換


            - `pronunciation`：単語にピンインを指定します。音節は空白で区切り、声調は数字で示します。例：`tian1 qi4`

            - `replace`：合成前に単語を置換します。置換後のテキストで合成・課金し、置換後も最大 `5000` 文字です。超過は
            `400`（`prompt_too_long`）


            両リスト合計で最大 `200` エントリです。オブジェクト内のキーと値のペアを数えます。超過は
            `400`（`invalid_parameter`）


            少なくとも一方を指定してください。指定する各リストは空でない配列で、各要素は `{"単語": "値"}` 形式のオブジェクトです


            **例：**

            ```json

            {
              "pronunciation": [{"天气": "tian1 qi4"}],
              "replace": [{"今天": "金天"}]
            }

            ```
          properties:
            pronunciation:
              type: array
              description: '発音のカスタマイズ一覧。各項目は `{"単語": "ピンイン"}` 形式のオブジェクト'
              items:
                type: object
                additionalProperties:
                  type: string
              example:
                - 天气: tian1 qi4
            replace:
              type: array
              description: 'テキスト置換一覧。各項目は `{"元の単語": "置換テキスト"}` 形式のオブジェクト'
              items:
                type: object
                additionalProperties:
                  type: string
              example:
                - 今天: 金天
        enable_aigc_tag:
          type: boolean
          description: 生成音声に不可視の AIGC 識別情報を埋め込むかどうか（`wav` / `mp3` / `opus` で有効）
          default: false
          example: false
        callback_url:
          type: string
          description: |-
            タスク結果の HTTPS コールバック URL

            **送信タイミング：**
            - タスク完了（`completed`）または失敗（`failed`）時。このモデルはキャンセル非対応です
            - 課金確定後に送信

            **セキュリティ要件：**
            - HTTPS のみ
            - プライベート IP は禁止（127.0.0.1、10.x.x.x、172.16～31.x.x、192.168.x.x など）
            - URL は最大 `2048` 文字

            **配信：**
            - タイムアウト：`10` 秒
            - 失敗後は最大 `3` 回、`1` / `2` / `4` 秒後に再試行
            - 本文形式はタスク照会 API のレスポンスと同じ
            - 2xx は成功、それ以外は再試行
          format: uri
          example: https://your-domain.com/webhooks/tts-completed
    QwenAudioTtsResponse:
      type: object
      properties:
        created:
          type: integer
          description: タスク作成時刻のタイムスタンプ
          example: 1790000000
        id:
          type: string
          description: タスク ID
          example: task-unified-1790000000-abcd1234
        model:
          type: string
          description: 実際に使用されたモデル名
          example: qwen-audio-3.1-tts-flash
        object:
          type: string
          enum:
            - audio.generation.task
          description: タスクオブジェクトの具体的な種類
        progress:
          type: integer
          description: タスク進捗率（0～100）
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: タスクの状態
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/AudioTaskInfo'
          description: 音声タスクの詳細
        type:
          type: string
          enum:
            - audio
          description: タスクの出力タイプ
          example: audio
        usage:
          $ref: '#/components/schemas/AudioUsage'
          description: 使用量と課金情報
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: エラーコード識別子
            message:
              type: string
              description: エラーメッセージ
            type:
              type: string
              description: エラーの種類
    AudioTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: タスクをキャンセルできるかどうか（このモデルはキャンセル非対応）
          example: false
        estimated_time:
          type: integer
          description: 推定所要時間（秒）。テキストの長さに応じて増加し、最大約 `90` 秒
          minimum: 0
          example: 3
        audio_type:
          type: string
          description: 音声タスクの種類
          example: tts
    AudioUsage:
      type: object
      description: 使用量情報
      properties:
        credits_reserved:
          type: number
          description: テキストの長さから見積もって予約するクレジット。完了後に実際のトークン使用量で精算し、余剰分を返還、不足分を追加請求
          minimum: 0
          example: 0.0144
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |-
        ## すべての API で Bearer トークン認証が必要です

        **API キーの取得：**

        [API キー管理](https://evolink.ai/dashboard/keys)で API キーを取得してください

        **リクエストヘッダーに追加：**
        ```
        Authorization: Bearer YOUR_API_KEY
        ```

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.