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

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

最終更新日:Feb 12, 2026

本トピックでは、Qwen 音声合成モデルのリクエストおよびレスポンスパラメーターについて説明します。

モデルの使用方法: 音声合成 - Qwen

リクエストボディ

非ストリーミング出力

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")
                // 指示制御機能を利用するには、次の行のコメントを解除し、モデルを 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
    # 環境変数が設定されていない場合は、次の行を 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 io.reactivex.Flowable;
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 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
                // 環境変数が設定されていない場合は、次の行を .apiKey("sk-xxx") に置き換えてください。
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .text("今日は、人々が愛するものを創り出すのに最適な日です!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English")
                // 指示制御機能を利用するには、次の行のコメントを解除し、モデルを 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 文字列 (必須)

モデル名。詳細については、「対応モデル」をご参照ください。

text 文字列 (必須)

音声合成を行うテキスト。多言語混在入力に対応しています。Qwen-TTS は最大 512 トークンの入力をサポートします。その他のモデルは最大 600 文字の入力をサポートします。

voice 文字列 (必須)

使用する音声。対応するシステム音声の一覧については、「対応システム音声」をご参照ください。

language_type 文字列 (任意)

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

  • Auto:テキストの言語が不明確または複数の言語が混在している場合に使用します。モデルはテキスト内の異なる言語セグメントに対して自動的に発音を調整しますが、完全に正確な発音を保証するものではありません。

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

    • Chinese

    • English

    • German

    • Italian

    • Portuguese

    • Spanish

    • Japanese

    • Korean

    • French

    • Russian

instructions 文字列 (任意)

音声合成をガイドするための指示を提供します。「リアルタイム音声合成 - Qwen」をご参照ください。

デフォルト値:なし。このパラメーターは未設定の場合、効果がありません。

長さ制限:1600 トークンを超えてはなりません。

対応言語:中国語および英語のみ。

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

optimize_instructions ブール値 (任意)

instructions を最適化して、音声合成の自然さおよび表現力を向上させます。

デフォルト値:false。

動作:true に設定すると、システムは instructions の内容を意味論的に強化・再書き込みし、音声合成に最適化された内部指示を生成します。

利用シーン:高品質かつ細かいレベルでの音声表現が必要な場合に有効化します。

依存関係:instructions パラメーターが設定されている必要があります。もし instructions が空欄の場合は、このパラメーターは効果を発揮しません。

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

stream ブール値 (任意) デフォルト値:false

レスポンスをストリーミング出力します。有効な値:

  • モデルによる音声生成完了後に、音声ファイルの URL を返します。

  • 生成中の Base64 エンコード音声データを逐次出力します。これらのセグメントをリアルタイムで順次読み取ることで、完全な結果を得ることができます。「音声合成 - Qwen」をご参照ください。

このパラメーターは Python SDK のみでサポートされます。Java SDK でストリーミング出力を実現するには、streamCall インターフェイスを呼び出してください。HTTP でストリーミング出力を実現するには、ヘッダーに X-DashScope-SSEenable として指定してください。

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

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 整数

HTTP ステータスコード。RFC 9110 の標準定義に準拠しています。RFC 9110 例:
• 200: リクエストが成功しました。通常の結果が返されました。
• 400: クライアントのリクエストパラメーターのエラー。
• 401: 未承認のアクセス。
• 404: リソースが見つかりません。
• 500: 内部サーバーエラー。




request_id 文字列

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

code 文字列

リクエスト失敗時のエラーコードを表示します(「エラーメッセージ」をご参照ください)。

message 文字列

リクエスト失敗時のエラーメッセージを表示します(「エラーメッセージ」をご参照ください)。

output オブジェクト

モデルの出力。

プロパティ

text 文字列

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

choices 文字列

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

finish_reason 文字列

以下の 2 つのシナリオがあります:

  • "null":生成中である場合。

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

audio オブジェクト

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

プロパティ

url 文字列

モデルが出力した完全な音声ファイルの URL。有効期限は 24 時間です。

data 文字列

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

id 文字列

モデルが出力した音声情報に対応する ID。

expires_at 整数

URL の有効期限が切れる UNIX タイムスタンプ。

usage オブジェクト

本リクエストにおけるトークンまたは文字数の消費情報を示します。Qwen-TTS はトークン消費情報を返します。Qwen3-TTS-Flash は文字数消費情報を返します。

プロパティ

input_tokens_details オブジェクト

入力テキストのトークン消費情報を示します。このフィールドは Qwen-TTS のみが返します。

プロパティ

text_tokens 整数

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

total_tokens 整数

本リクエストで消費されたトークンの総数。このフィールドは Qwen-TTS のみが返します。

output_tokens 整数

出力音声に消費されたトークン数。Qwen3-TTS-Flash では、このフィールドは常に 0 です。

input_tokens 整数

入力テキストに消費されたトークン数。Qwen3-TTS-Flash では、このフィールドは常に 0 です。

output_tokens_details オブジェクト

出力のトークン消費情報を示します。このフィールドは Qwen-TTS のみが返します。

プロパティ

audio_tokens 整数

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

text_tokens 整数

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

characters 整数

入力テキストの文字数。このフィールドは Qwen3-TTS-Flash のみが返します。

request_id 文字列

本リクエストの ID。