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

# Qwen Voice Design

> - テキスト説明からカスタム音声を作成し、音声名とプレビュー音声を返します
- [Qwen3 TTS VD](/ja/api-manual/audio-series/qwen-tts/qwen3-tts-vd) の音声合成では**本インターフェースで作成した音声を必ず使用してください**。システム内蔵音声はサポートしていません
- 非同期処理モード：返却されたタスクIDを使って[結果を照会](/ja/api-manual/task-management/get-task-detail)してください
- 生成された音声リンクの有効期間は24時間です。速やかに保存してください

**利用フロー：**
1. 本インターフェースを呼び出して音声を作成する
2. タスク結果をポーリングして `result_data.voice`（音声名）を取得する
3. [Qwen3 TTS VD](/ja/api-manual/audio-series/qwen-tts/qwen3-tts-vd) に `voice` パラメータを渡して音声合成を行う



## OpenAPI

````yaml ja/api-manual/audio-series/qwen-tts/qwen-voice-design.json POST /v1/audios/generations
openapi: 3.1.0
info:
  title: Qwen Voice Design ボイスデザインインターフェース
  description: >-
    テキスト説明からカスタム音声を作成し、音声名とプレビュー音声を返します。qwen3-tts-vd
    の音声合成では、本インターフェースで作成した音声を必ず使用してください。システム内蔵音声はサポートしていません。
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: 本番環境
security:
  - bearerAuth: []
tags:
  - name: ボイスデザイン
    description: Qwen Voice Design ボイスデザイン関連インターフェース
paths:
  /v1/audios/generations:
    post:
      tags:
        - ボイスデザイン
      summary: Qwen Voice Design ボイスデザイン
      description: >-
        - テキスト説明からカスタム音声を作成し、音声名とプレビュー音声を返します

        - [Qwen3 TTS VD](/ja/api-manual/audio-series/qwen-tts/qwen3-tts-vd)
        の音声合成では**本インターフェースで作成した音声を必ず使用してください**。システム内蔵音声はサポートしていません

        -
        非同期処理モード：返却されたタスクIDを使って[結果を照会](/ja/api-manual/task-management/get-task-detail)してください

        - 生成された音声リンクの有効期間は24時間です。速やかに保存してください


        **利用フロー：**

        1. 本インターフェースを呼び出して音声を作成する

        2. タスク結果をポーリングして `result_data.voice`（音声名）を取得する

        3. [Qwen3 TTS VD](/ja/api-manual/audio-series/qwen-tts/qwen3-tts-vd) に
        `voice` パラメータを渡して音声合成を行う
      operationId: createQwenVoiceDesign
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QwenVoiceDesignRequest'
            examples:
              minimal:
                summary: 最小限の呼び出し
                value:
                  model: qwen-voice-design
                  voice_prompt: 落ち着いた中年男性アナウンサー、低くて重厚な声、磁力感があり、安定したペース、明瞭な発音
                  preview_text: リスナーの皆さん、こんばんは。夜のニュースをお届けします。
                  preferred_name: announcer
              full_params:
                summary: 完全なパラメータ
                value:
                  model: qwen-voice-design
                  voice_prompt: 若くて活発な女性の声、テンポが速く、明らかな上昇イントネーション、ファッション商品の紹介に最適
                  preview_text: Hi everyone, welcome to today's fashion review!
                  preferred_name: fashion_host
                  language: ja
                  sample_rate: 48000
                  response_format: mp3
      responses:
        '200':
          description: ボイスデザインタスクの作成に成功
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QwenVoiceDesignResponse'
        '400':
          description: リクエストパラメータエラー
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_parameter
                  message: 'Missing required parameter: voice_prompt or preview_text'
                  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-voice-design'
                  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:
    QwenVoiceDesignRequest:
      type: object
      required:
        - model
        - voice_prompt
        - preview_text
        - preferred_name
      properties:
        model:
          type: string
          description: モデル名
          enum:
            - qwen-voice-design
          default: qwen-voice-design
          example: qwen-voice-design
        voice_prompt:
          type: string
          description: >-
            音声の特徴説明（音色の定義に使用）


            **制約：**

            - 最大 `2048` 文字

            - 中国語と英語のみサポート


            **説明の推奨ディメンション：**

            - 性別：男性、女性、中性

            - 年齢：子供 (5-12歳)、ティーンエイジャー (13-18歳)、青年 (19-35歳)、中年 (36-55歳)、シニア
            (55歳以上)

            - 音域：高音、中音、低音

            - 話速：速い、普通、ゆっくり

            - 感情：明るい、落ち着いた、穏やか、真剣、活発、冷静

            - 特徴：磁力感がある、澄んでいる、しゃがれた、まろやか、甘い、重厚

            - 用途：ニュース読み上げ、CM ナレーション、オーディオブック、アニメキャラクター、音声アシスタント


            **推奨の書き方例：**

            - `落ち着いた中年男性、ゆっくりとした話速、低くて磁力感のある声、ニュースや記録映画のナレーションに最適`

            - `かわいい子どもの声、約8歳の女の子、少し幼い話し方、アニメキャラクターの吹き替えに最適`

            - `穏やかで知性的な女性、30歳前後、落ち着いた話し方、オーディオブックの朗読に最適`
          maxLength: 2048
          example: 落ち着いた中年男性アナウンサー、低くて重厚な声、磁力感があり、安定したペース、明瞭な発音
        preview_text:
          type: string
          description: |-
            試聴音声を生成するためのプレビューテキスト

            **制約：**
            - 最大 `1024` 文字
            - 10言語をサポート：中国語、英語、日本語、韓国語、ドイツ語、フランス語、イタリア語、ロシア語、ポルトガル語、スペイン語
            - `language` パラメータの言語と一致させることを推奨
          maxLength: 1024
          example: リスナーの皆さん、こんばんは。夜のニュースをお届けします。
        preferred_name:
          type: string
          description: >-
            音声名のプレフィックス


            **制約：**

            - 数字、英字、アンダースコアのみ使用可能

            - `16` 文字以内


            生成される完全な音声名の形式：`qwen-tts-vd-{preferred_name}-voice-{timestamp}`


            `announcer` を入力した場合、最終的な音声名は例えば
            `qwen-tts-vd-announcer-voice-20260402-a1b2` のようになります
          maxLength: 16
          pattern: ^[a-zA-Z0-9_]+$
          example: announcer
        language:
          type: string
          description: |-
            音声の言語傾向。`preview_text` の言語と一致させることを推奨

            指定しない場合、上流はデフォルト値 `zh` を使用します
          enum:
            - zh
            - en
            - ja
            - ko
            - de
            - fr
            - it
            - ru
            - pt
            - es
          example: ja
        sample_rate:
          type: integer
          description: |-
            プレビュー音声のサンプリングレート（Hz）

            指定しない場合、上流はデフォルト値 `24000` を使用します
          enum:
            - 8000
            - 16000
            - 24000
            - 48000
          example: 24000
        response_format:
          type: string
          description: |-
            プレビュー音声のフォーマット

            指定しない場合、上流はデフォルト値 `wav` を使用します
          enum:
            - pcm
            - wav
            - mp3
            - opus
          example: wav
        target_model:
          type: string
          description: >-
            作成した音声を駆動する TTS モデル


            **重要：** 音声作成時に指定した `target_model`
            は、後続の音声合成で使用するモデルと一致させる必要があります。一致しない場合、合成が失敗します


            | 値 | 説明 |

            |-----|------|

            | `qwen3-tts-vd-2026-01-26` | Qwen3-TTS-VD 非ストリーミング（デフォルト） |

            | `qwen3-tts-vd-realtime-2026-01-15` | Qwen3-TTS-VD-Realtime
            双方向ストリーミング（新バージョン） |

            | `qwen3-tts-vd-realtime-2025-12-16` | Qwen3-TTS-VD-Realtime
            双方向ストリーミング（旧バージョン） |


            > 現在、本プラットフォームは `qwen3-tts-vd-2026-01-26`（非ストリーミング）を統合済みです。realtime
            モデルはまだ統合されていませんが、事前に音声を作成しておくことは可能です
          enum:
            - qwen3-tts-vd-2026-01-26
            - qwen3-tts-vd-realtime-2026-01-15
            - qwen3-tts-vd-realtime-2025-12-16
          default: qwen3-tts-vd-2026-01-26
          example: qwen3-tts-vd-2026-01-26
        callback_url:
          type: string
          description: >-
            タスク完了後の HTTPS コールバック URL


            **コールバックのタイミング：**

            - タスクが完了（completed）、失敗（failed）、またはキャンセル（cancelled）した際にトリガー

            - 課金確認後に送信


            **セキュリティ制限：**

            - 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` 秒後にリトライ）

            - コールバックのレスポンスボディ形式はタスク照会インターフェースの返却形式と同一

            - コールバック URL が 2xx ステータスコードを返した場合は成功とみなし、それ以外はリトライをトリガー
          format: uri
          example: https://your-domain.com/webhooks/voice-design-completed
    QwenVoiceDesignResponse:
      type: object
      properties:
        created:
          type: integer
          description: タスク作成タイムスタンプ
          example: 1775123456
        id:
          type: string
          description: タスク ID
          example: task-unified-1775123456-abcd1234
        model:
          type: string
          description: 実際に使用されたモデル名
          example: qwen-voice-design
        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: true
        estimated_time:
          type: integer
          description: 完了予定時間（秒）
          minimum: 0
          example: 15
        audio_type:
          type: string
          description: 音声タスクのタイプ
          example: voice_design
    AudioUsage:
      type: object
      description: 使用量情報
      properties:
        credits_reserved:
          type: number
          description: 推定消費クレジット数
          minimum: 0
          example: 2
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |-
        ##すべてのインターフェースは Bearer Token による認証が必要です##

        **API キーの取得：**

        [API キー管理ページ](https://evolink.ai/dashboard/keys) にアクセスして API キーを取得してください

        **リクエストヘッダーに以下を追加してください：**
        ```
        Authorization: Bearer YOUR_API_KEY
        ```

````