すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:音声合成 (Qwen-TTS)

最終更新日:May 14, 2026

音声合成 (Qwen-TTS) API のリクエストパラメーターおよび応答フィールドについて説明します。

モデルの使用方法:非リアルタイム音声合成

リクエスト本文

非ストリーミング出力

Python

DashScope Python SDK の SpeechSynthesizer インターフェイスは、現在 MultiModalConversation に統合されています。その使用方法およびパラメーターは完全に互換性があります。
# DashScope SDK の最新バージョンをインストールします
      import os
      import dashscope
      # これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を次のように置き換えてください:https://dashscope.aliyuncs.com/api/v1
      dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
      text = "皆様に T シャツをおすすめします。こちらは本当にとても素晴らしいです。色味が非常に上品で、どんなコーディネートにもぴったりです。迷わずご購入いただけます。本当に美しく、どんな体型にもやさしい仕上がりになっています。どのような体型の方でも、きっと素敵に着こなせます。ぜひご注文ください。"
      # SpeechSynthesizer インターフェイスの使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
      response = dashscope.MultiModalConversation.call(
          # 命令による制御機能を使用する場合は、モデルを qwen3-tts-instruct-flash に置き換えてください
          model="qwen3-tts-flash",
          # シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーの取得方法:https://www.alibabacloud.com/help/en/model-studio/get-api-key
          # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:api_key="sk-xxx"
          api_key=os.getenv("DASHSCOPE_API_KEY"),
          text=text,
          voice="Cherry"
          # 命令による制御機能を使用する場合は、次の行のコメントを解除し、モデルを qwen3-tts-instruct-flash に置き換えてください
          # instructions='早口で、明確なアップトーンを用い、ファッション商品の紹介に適したスタイル。',
          # optimize_instructions=True
      )
      print(response)

Java

// DashScope SDK の最新バージョンをインストールします
import com.alibaba.dashscope.aigc.multimodalconversation.AudioParameters;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
public class Main {
    // 命令による制御機能を使用する場合は、MODEL を qwen3-tts-instruct-flash に置き換えてください
    private static final String MODEL = "qwen3-tts-flash";
    public static void call() throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                .model(MODEL)
                // シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーの取得方法:https://www.alibabacloud.com/help/en/model-studio/get-api-key
                // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .text("今日は、人々が愛するものを作るのにぴったりの日です!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English")
                // 命令による制御機能を使用する場合は、次の行のコメントを解除し、MODEL を qwen3-tts-instruct-flash に置き換えてください
                // .parameter("instructions","早口で、明確なアップトーンを用い、ファッション商品の紹介に適したスタイル。")
                // .parameter("optimize_instructions",true)
                .build();
        MultiModalConversationResult result = conv.call(param);
        System.out.println(JsonUtils.toJson(result));
    }
    public static void main(String[] args) {
        // これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を次のように置き換えてください:https://dashscope.aliyuncs.com/api/v1
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
        try {
            call();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

curl

# ======= 重要事項 =======
# これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を次のように置き換えてください:https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーの取得方法:https://www.alibabacloud.com/help/en/model-studio/get-api-key
# 環境変数が設定されていない場合は、$DASHSCOPE_API_KEY を Model Studio API キー(例:sk-xxx)に置き換えてください。
# === 実行時にはこのコメントを削除してください ===

curl -X POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen3-tts-flash",
    "input": {
        "text": "皆様に T シャツをおすすめします。こちらは本当にとても素晴らしいです。色味が非常に上品で、どんなコーディネートにもぴったりです。迷わずご購入いただけます。本当に美しく、どんな体型にもやさしい仕上がりになっています。どのような体型の方でも、きっと素敵に着こなせます。ぜひご注文ください。",
        "voice": "Cherry",
        "language_type": "Chinese"
    }
}'

ストリーミング出力

Python

DashScope Python SDK の SpeechSynthesizer インターフェイスは、現在 MultiModalConversation に統合されています。新しいインターフェイスに切り替えるには、名前を置き換えるだけで、他のすべてのパラメーターは完全に互換性があります。
# DashScope SDK バージョン 1.24.5 以降が必要です
import os
import dashscope
# これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を次のように置き換えてください:https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
text = "皆様に T シャツをおすすめします。こちらは本当にとても素晴らしいです。色味が非常に上品で、どんなコーディネートにもぴったりです。迷わずご購入いただけます。本当に美しく、どんな体型にもやさしい仕上がりになっています。どのような体型の方でも、きっと素敵に着こなせます。ぜひご注文ください。"
# SpeechSynthesizer インターフェイスの使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
    # 命令による制御機能を使用する場合は、モデルを qwen3-tts-instruct-flash に置き換えてください
    model="qwen3-tts-flash",
    # シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーの取得方法:https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    text=text,
    voice="Cherry",
    # 命令による制御機能を使用する場合は、次の行のコメントを解除し、モデルを qwen3-tts-instruct-flash に置き換えてください
    # instructions='早口で、明確なアップトーンを用い、ファッション商品の紹介に適したスタイル。',
    # optimize_instructions=True,
    stream=True
)
for chunk in response:
    print(chunk)

Java

// DashScope SDK バージョン 2.19.0 以降が必要です
import com.alibaba.dashscope.aigc.multimodalconversation.AudioParameters;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
import io.reactivex.Flowable;
public class Main {
    // 命令による制御機能を使用する場合は、MODEL を qwen3-tts-instruct-flash に置き換えてください
    private static final String MODEL = "qwen3-tts-flash";
    public static void streamCall() throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                .model(MODEL)
                // シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーの取得方法:https://www.alibabacloud.com/help/en/model-studio/get-api-key
                // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .text("今日は、人々が愛するものを作るのにぴったりの日です!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English")
                // 命令による制御機能を使用する場合は、次の行のコメントを解除し、MODEL を qwen3-tts-instruct-flash に置き換えてください
                // .parameter("instructions","早口で、明確なアップトーンを用い、ファッション商品の紹介に適したスタイル。")
                // .parameter("optimize_instructions",true)
                .build();
        Flowable<MultiModalConversationResult> result = conv.streamCall(param);
        result.blockingForEach(r -> {System.out.println(JsonUtils.toJson(r));
        });
    }
    public static void main(String[] args) {
        // これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を次のように置き換えてください:https://dashscope.aliyuncs.com/api/v1
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
        try {
            streamCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

curl

# ======= 重要事項 =======
# これはシンガポールリージョンの URL です。中国 (北京) リージョンのモデルを使用する場合は、URL を次のように置き換えてください:https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーの取得方法:https://www.alibabacloud.com/help/en/model-studio/get-api-key
# 環境変数が設定されていない場合は、$DASHSCOPE_API_KEY を Model Studio API キー(例:sk-xxx)に置き換えてください。
# === 実行時にはこのコメントを削除してください ===

curl -X POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-H 'X-DashScope-SSE: enable' \
-d '{
    "model": "qwen3-tts-flash",
    "input": {
        "text": "皆様に T シャツをおすすめします。こちらは本当に素晴らしい仕上がりです。色味が上品で、どんなコーディネートにもぴったりです。迷わずご購入いただけます。どんな方にも似合うデザインになっており、体型を問わずお召しになれます。背が高い方、低い方、スリムな方、ふくよかな方、すべての方にぴったりです。ぜひご注文ください。",
        "voice": "Cherry",
        "language_type": "Chinese"
    }
}'
Base64 エンコードされた音声をリアルタイムで再生するには、「音声合成 - Qwen」をご参照ください。

model string (必須)

モデル名。詳細については、「サポートされているモデル」をご参照ください。

input object (必須)

入力パラメーターオブジェクト。

プロパティ

text string (必須)

合成対象のテキスト(複数言語混在に対応)。最大入力長:Qwen-TTS は 512 トークン、その他のモデルは 600 文字をサポートします。

voice string (必須)

使用する音声。詳細については、「サポートされているシステム音声」をご参照ください。

language_type string (オプション)

合成音声の言語を指定します。デフォルト値は Auto です。

  • Auto:テキストの言語が不明または複数の言語が混在している場合に使用します。モデルは自動的に各言語セグメントの発音をマッチングしますが、精度は保証されません。

  • 言語を指定する:テキストが単一言語の場合に使用します。正確な言語を指定することで合成品質が大幅に向上し、通常は Auto よりも優れた結果が得られます。サポートされる値は以下のとおりです。

    • Chinese

    • English

    • German

    • Italian

    • Portuguese

    • Spanish

    • Japanese

    • Korean

    • French

    • Russian

instructions string (オプション)

音声合成のスタイルを制御するための命令を提供します。詳細については、「リアルタイム音声合成 - Qwen」をご参照ください。

デフォルト:なし。設定しない場合は効果がありません。

長さの制限:最大 1600 トークン。

サポート言語:中国語および英語のみ。

適用範囲:Qwen3-TTS-Instruct-Flash-Realtime モデルシリーズのみ。

optimize_instructions boolean (オプション)

instructions を最適化して、音声の自然さと表現力を向上させます。デフォルトは false です。

動作:true に設定すると、システムは instructions を意味的に強化・書き換えし、音声合成により適した内部命令を生成します。

利用シーン:高品質かつ詳細な音声表現が必要な場合に有効にしてください。

依存関係:instructions パラメーターが必要です。instructions が空の場合は効果がありません。

適用範囲:この機能は Qwen3-TTS-Instruct-Flash モデルシリーズにのみ適用されます。

stream boolean (オプション) デフォルト値:false

応答をストリーミングします。有効な値:

  • false:生成完了後に音声の URL を返します。

  • true:生成中に Base64 エンコードされた音声データを出力します。リアルタイムでセグメントを読み取り、完全な結果を取得できます。「音声合成 - Qwen」をご参照ください。

このパラメーターは Python SDK 専用です。Java SDK でストリーミング出力を実現するには、streamCall を呼び出してください。HTTP の場合は、ヘッダー X-DashScope-SSE: enable を設定します。

戻りオブジェクト(ストリーミング出力および非ストリーミング出力で共通)

Qwen3-TTS-Flash

{
    "status_code": 200,
    "request_id": "5c63c65c-cad8-4bf4-959d-xxxxxxxxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": "stop",
        "choices": null,
        "audio": {
            "data": "",
            "url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/1d/ab/20251218/d2033070/39b6d8f2-c0db-4daa-9073-5d27bfb66b78.wav?Expires=1766113409&OSSAccessKeyId=LTAI5xxxxxxxxxxxx&Signature=NOrqxxxxxxxxxxxx%3D",
            "id": "audio_5c63c65c-cad8-4bf4-959d-xxxxxxxxxxxx",
            "expires_at": 1766113409
        }
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 195
    }
}

Qwen-TTS

{
    "status_code": 200,
    "request_id": "f4e8139b-3203-4887-92cb-xxxxxxxxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": "stop",
        "choices": null,
        "audio": {
            "data": "",
            "url": "http://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1d/50/20251218/e6c1b9cc/9acec74e-e317-4dbd-9e76-745c47bcbf2d.wav?Expires=1766116806&OSSAccessKeyId=LTAxxxxxxxxx&Signature=afYZxxxxxxxxxxxx%2FAX9bk%3D",
            "id": "audio_f4e8139b-3203-4887-92cb-xxxxxxxxxxxx",
            "expires_at": 1766116806
        }
    },
    "usage": {
        "input_tokens": 76,
        "output_tokens": 1045,
        "characters": 0,
        "input_tokens_details": {
            "text_tokens": 76
        },
        "output_tokens_details": {
            "audio_tokens": 1045,
            "text_tokens": 0
        },
        "total_tokens": 1121
    }
}

status_code integer

HTTP ステータスコード(RFC 9110 に従う)。例:
• 200:リクエストが成功し、正常な結果が返された
• 400:クライアントパラメーターのエラー
• 401:未認証
• 404:見つかりません
• 500:サーバーエラー













request_id string

一意のリクエスト ID です。問題の特定およびトラブルシューティングに使用します。

code string

リクエストが失敗した場合に返されるエラーコードです。「エラーメッセージ」をご参照ください。

message string

リクエストが失敗した場合に返されるエラーメッセージです。「エラーメッセージ」をご参照ください。

output object

モデルの出力です。

プロパティ

text string

常に null です。このフィールドは無視してください。

choices string

常に null です。このフィールドは無視してください。

finish_reason string

次の 2 つのシナリオがあります。

  • "null":生成がまだ進行中です。

  • "stop":モデルの出力が自然に終了したか、入力パラメーターで指定された停止条件がトリガーされました。

audio object

モデル出力からの音声情報です。

プロパティ

url string

完全な音声ファイルの URL(24 時間有効)。

data string

ストリーミング出力用の Base64 エンコードされた音声データ。

id string

音声情報の ID。

expires_at integer

URL の有効期限を示す UNIX タイムスタンプ。

usage object

このリクエストでのトークンまたは文字の使用量。Qwen-TTS はトークンを返し、Qwen3-TTS-Flash は文字数を返します。

プロパティ

input_tokens_details object

入力テキストのトークン使用量(Qwen-TTS のみ)。

プロパティ

text_tokens integer

入力テキストで消費されたトークン数。

total_tokens integer

消費されたトークンの合計(Qwen-TTS のみ)。

output_tokens integer

出力音声で消費されたトークン(Qwen3-TTS-Flash の場合は常に 0)。

input_tokens integer

入力テキストで消費されたトークン(Qwen3-TTS-Flash の場合は常に 0)。

output_tokens_details object

出力トークンの使用量(Qwen-TTS のみ)。

プロパティ

audio_tokens integer

出力音声で消費されたトークン。

text_tokens integer

出力テキストで消費されたトークン(現在は固定で 0)。

characters integer

入力テキストの文字数(Qwen3-TTS-Flash のみ)。

request_id string

リクエスト ID。