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

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

最終更新日:Dec 26, 2025

このトピックでは、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 = "Let me recommend a T-shirt. It is absolutely gorgeous. The color is very flattering, and it is a perfect piece for any outfit. You cannot go wrong with this one. It is really beautiful and flattering for all body types. It looks great on everyone. I highly recommend this T-shirt."
# SpeechSynthesizer インターフェイスの使用法: dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
    model="qwen3-tts-flash",
    # シンガポールリージョンと中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
    # 環境変数を設定していない場合は、次の行を、お使いの Model Studio API キーを使用して api_key="sk-xxx" に置き換えてください。
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    text=text,
    voice="Cherry",
    language_type="Chinese"
)
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 {

    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/model-studio/get-api-key をご参照ください。
                // 環境変数を設定していない場合は、次の行を、お使いの Model Studio API キーを使用して apiKey("sk-xxx") に置き換えてください。
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .text("Today is a wonderful day to build something people love!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English")
                .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/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": "Let me recommend a T-shirt. It is absolutely gorgeous. The color is very flattering, and it is a perfect piece for any outfit. You cannot go wrong with this one. It is really beautiful and flattering for all body types. It looks great on everyone. I highly recommend this T-shirt.",
        "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 = "Let me recommend a T-shirt. It is absolutely gorgeous. The color is very flattering, and it is a perfect piece for any outfit. You cannot go wrong with this one. It is really beautiful and flattering for all body types. It looks great on everyone. I highly recommend this T-shirt."
# SpeechSynthesizer インターフェイスの使用法: dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
    model="qwen3-tts-flash",
    # シンガポールリージョンと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
    # 環境変数を設定していない場合は、次の行を、お使いの Model Studio API キーを使用して api_key="sk-xxx" に置き換えてください。
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    text=text,
    voice="Cherry",
    language_type="Chinese",
    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 {
    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/model-studio/get-api-key をご参照ください。
                // 環境変数を設定していない場合は、次の行を、お使いの Model Studio API キーを使用して .apiKey("sk-xxx") に置き換えてください。
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .text("Today is a wonderful day to build something people love!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English")
                .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/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": "Let me recommend a T-shirt. It is absolutely gorgeous. The color is very flattering, and it is a perfect piece for any outfit. You cannot go wrong with this one. It is really beautiful and flattering for all body types. It looks great on everyone. I highly recommend this T-shirt.",
        "voice": "Cherry",
        "language_type": "Chinese"
    }
}'
Base64 音声をリアルタイムで再生する方法の詳細については、「リアルタイム再生」をご参照ください。

model string (必須)

モデル名。Qwen3-TTS-Flash および Qwen-TTS シリーズがサポートされています。詳細については、「音声合成 - Qwen」をご参照ください。

Qwen3-TTS-Flash は、より強力な機能と高い同時実行数上限を提供するため、Qwen-TTS よりも推奨されます。

text string (必須)

合成するテキスト。モデルは、中国語、英語、またはその両方の組み合わせのテキストをサポートします。Qwen-TTS モデルの最大入力は 512 トークンです。Qwen3-TTS-Flash モデルの最大入力は 600 文字です。

voice string (必須)

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

language_type string (任意)

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

  • Auto:テキストの言語が不確かな場合や、テキストに複数の言語が含まれるシナリオで使用します。モデルは各言語セグメントに適切な発音を自動的に適用しますが、発音の正確性は保証されません。

  • 特定の言語:テキストが単一言語であるシナリオで使用します。言語を指定すると、合成品質が大幅に向上し、通常は Auto よりも良い結果が得られます。有効な値:

    • Chinese

    • English

    • German

    • Italian

    • Portuguese

    • Spanish

    • Japanese

    • Korean

    • French

    • Russian

stream boolean (任意) デフォルトは false

ストリームでレスポンスを返すかどうかを指定します。有効な値:

  • false:生成が完了した後、生成された音声の URL が返されます。

  • true:音声データは、生成されると同時に Base64 エンコーディングで返されます。完全な結果をアセンブルするには、これらのフラグメントをリアルタイムで読み取る必要があります。詳細については、「リアルタイム再生」をご参照ください。

このパラメーターは 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=afYZxxxxxxxxx%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。この ID を使用して、問題を特定し、トラブルシューティングを行うことができます。

code string

リクエストが失敗したときに返されるエラーコード。詳細については、「エラーメッセージ」をご参照ください。

message string

リクエストが失敗したときに返されるエラーメッセージ。詳細については、「エラーメッセージ」をご参照ください。

output object

モデルの出力。

プロパティ

text string

常に null です。このパラメーターは無視できます。

choices string

常に null です。このパラメーターは無視できます。

finish_reason string

次の 2 つのシナリオを考慮してください:

  • 生成中は値が "null" です。

  • stop:モデルが出力を完了したか、停止条件が満たされたため、生成が完了しました。

audio object

モデルによって出力された音声情報。

プロパティ

url string

モデルによって出力された完全な音声ファイルの URL。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。