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

Alibaba Cloud Model Studio:非リアルタイム音声認識 (Qwen-ASR) API リファレンス

最終更新日:Sep 02, 2026

Qwen-ASR モデルの入出力パラメーターです。 API は OpenAI 互換または DashScope プロトコルを使用して呼び出します。

ユーザーガイド:非リアルタイム音声認識」をご参照ください。

モデルの接続タイプ

モデルごとにサポートされる接続タイプは異なります。

モデル

接続タイプ

Qwen3-ASR-Flash-Filetrans

DashScope 非同期呼び出しのみをサポート

Qwen3-ASR-Flash

OpenAI 互換および DashScope 同期

OpenAI 互換

重要米国リージョンは OpenAI 互換モードをサポートしていません。

URL

シンガポール

HTTP リクエストアドレス: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

SDK 呼び出しの base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

米国 (バージニア)

米国のデプロイメント範囲を選択した場合、モデル推論の計算リソースは米国内に制限されます。静的データは選択したリージョンに保存されます。サポートされているリージョン:米国 (バージニア)。

HTTP リクエストアドレス: POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

SDK 呼び出しの base_url: https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1

中国 (北京)

HTTP リクエストアドレス: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions

SDK 呼び出しの base_url: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

重要Alibaba Cloud Model Studio は、中国 (北京) およびシンガポールリージョン向けにワークスペース固有のドメインをリリースしました。新しい専用ドメインは、推論リクエストに対して優れたパフォーマンスと高い安定性を提供します。新しいドメインへの移行を推奨します:

  • 中国 (北京): dashscope.aliyuncs.com から {WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • シンガポール: dashscope-intl.aliyuncs.com から {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

{WorkspaceId} を実際のワークスペース ID に置き換えてください。既存のドメインは引き続き完全に機能します。

リクエストボディ

modelstring(必須)

モデル名。このパラメーターは Qwen3-ASR-Flash モデルにのみ適用されます。

messagesarray(必須)

メッセージのリスト。

メッセージタイプ

システムメッセージobject (任意)

背景テキストやエンティティ用語集など、音声認識のコンテキストを提供するために使用されます。モデルのロール設定やその他の従来のシステムプロンプトの設定はサポートしていません。システムメッセージを使用する場合、messages リストの最初のメッセージである必要があります。

プロパティ

rolestring(必須)

system に設定します。

ユーザーメッセージobject(必須)

ユーザーがモデルに送信したメッセージ。

プロパティ

contentarray(必須)

ユーザーメッセージのコンテンツ。配列には 1 つのメッセージのみが許可されます。

プロパティ

typestring(必須)

入力が音声であることを示す input_audio に設定します。

input_audiostring(必須)

認識対象の音声。このパラメーターの使用方法の詳細については、「クイックスタート」をご参照ください。

OpenAI 互換モードでは、Qwen3-ASR-Flash モデルは、Base64 エンコードされたファイルと、パブリックネットワーク経由でアクセス可能な音声ファイルの URL の 2 つの入力形式をサポートします。

SDK を使用する場合、音声ファイルが OSS に保存されている場合、oss:// で始まる一時 URL はサポートされません。

RESTful API を使用する場合、音声ファイルが OSS に保存されている場合、oss:// で始まる一時 URL はサポートされます。注意:

重要

  • 一時 URL は 48 時間有効です。有効期限が切れると使用できなくなります。本番環境では使用しないでください。
  • ファイルアップロード認証情報 API は 100 QPS にレート制限されており、スケールアップできません。本番環境、高同時実行、またはストレステストシナリオでは使用しないでください。
  • 本番環境では、長期的なファイルの可用性を確保し、レート制限の問題を回避するために、Alibaba Cloud OSS などの安定したストレージサービスを使用することを推奨します。

rolestring(必須)

ユーザーメッセージのロール。user に設定します。

asr_optionsobject(任意)

特定の機能を有効にするかどうかを指定します。

asr_options は標準の OpenAI パラメーターではありません。OpenAI SDK を使用する場合は、extra_body を介して渡してください。

プロパティ

language string (任意) デフォルト値なし

音声の言語がわかっている場合は、このパラメーターを使用して指定することで、認識精度を向上させることができます。

指定できる言語は 1 つだけです。

音声の言語が不明な場合や、複数の言語 (中国語、英語、日本語、韓国語の混合など) が含まれる場合は、このパラメーターを指定しないでください。

有効な値

  • zh:中国語 (標準語、四川語、閩南語、呉語)
  • yue:広東語
  • en:英語
  • ja:日本語
  • de:ドイツ語
  • ko:韓国語
  • ru:ロシア語
  • fr:フランス語
  • pt:ポルトガル語
  • ar:アラビア語
  • it:イタリア語
  • es:スペイン語
  • hi:ヒンディー語
  • id:インドネシア語
  • th:タイ語
  • tr:トルコ語
  • uk:ウクライナ語
  • vi:ベトナム語
  • cs:チェコ語
  • da:デンマーク語
  • fil:フィリピン語
  • fi:フィンランド語
  • is:アイスランド語
  • ms:マレー語
  • no:ノルウェー語
  • pl:ポーランド語
  • sv:スウェーデン語

enable_itnboolean (任意) デフォルト: false

逆テキスト正規化 (ITN) を有効にするかどうかを指定します。この機能は、中国語と英語の音声にのみ適用されます。

  • true
  • false (デフォルト)

streamboolean(任意) デフォルト: false

ストリーミング出力を使用するかどうかを指定します。「ストリーミング出力」をご参照ください。

有効な値:

  • false:モデルは生成後に完全なコンテンツを返します。
  • true:モデルはコンテンツを生成しながら同時に出力します。コンテンツの一部が生成されるたびにデータブロック (チャンク) が返されます。完全な応答を組み立てるには、これらのブロックをリアルタイムで読み取る必要があります。

true に設定すると、リクエストタイムアウトのリスクが軽減されます。

stream_optionsobject(任意)

ストリーミング出力の設定項目。このパラメーターは、streamtrue に設定されている場合にのみ有効です。

プロパティ

include_usageboolean(任意) デフォルト: false

応答の最後のデータブロックにトークン消費情報を含めるかどうかを指定します。

有効な値:

  • true
  • false (デフォルト)

ストリーミング出力中、トークン消費情報は応答の最後のデータブロックにのみ表示されます。

入力:音声ファイル URL

Python SDK

from openai import OpenAI
import os

try:
    client = OpenAI(
        # API キーは、シンガポール/米国リージョンと北京リージョンで異なります。API キーの取得方法:https://www.alibabacloud.com/help/model-studio/get-api-key
        # 環境変数を設定していない場合は、次の行を Alibaba Cloud Model Studio API キーに置き換えてください:api_key = "sk-xxx",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        # 以下はシンガポールリージョンの設定です。呼び出し時に「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
        base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
    )

    stream_enabled = False  # ストリーミング出力を有効にするかどうか
    completion = client.chat.completions.create(
        model="qwen3-asr-flash",
        messages=[
            {
                "content": [
                    {
                        "type": "input_audio",
                        "input_audio": {
                            "data": "{YOUR_AUDIO_URL}"
                        }
                    }
                ],
                "role": "user"
            }
        ],
        stream=stream_enabled,
        # stream が False に設定されている場合、stream_options パラメーターは設定できません
        # stream_options={"include_usage": True},
        extra_body={
            "asr_options": {
                # "language": "zh",
                "enable_itn": False
            }
        }
    )
    if stream_enabled:
        full_content = ""
        print("ストリーミング出力:")
        for chunk in completion:
            # stream_options.include_usage が True の場合、最後のチャンクの choices フィールドは空のリストであり、スキップする必要があります (トークン使用量は chunk.usage で取得できます)
            print(chunk)
            if chunk.choices and chunk.choices[0].delta.content:
                full_content += chunk.choices[0].delta.content
        print(f"完全なコンテンツ:{full_content}")
    else:
        print(f"非ストリーミング出力:{completion.choices[0].message.content}")
except Exception as e:
    print(f"エラーメッセージ:{e}")

Node.js SDK

// 実行前の準備:
// Windows/Mac/Linux 共通:
// 1. Node.js がインストールされていることを確認してください (バージョン 14 以上を推奨)
// 2. 次のコマンドを実行して、必要な依存関係をインストールします:npm install openai

import OpenAI from "openai";

const client = new OpenAI({
  // API キーは、シンガポール/米国リージョンと北京リージョンで異なります。API キーの取得方法:https://www.alibabacloud.com/help/model-studio/get-api-key
  // 環境変数を設定していない場合は、次の行を Alibaba Cloud Model Studio API キーに置き換えてください:apiKey: "sk-xxx",
  apiKey: process.env.DASHSCOPE_API_KEY,
  // 以下はシンガポールリージョンの設定です。呼び出し時に「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
  baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
});

async function main() {
  try {
    const streamEnabled = false; // ストリーミング出力を有効にするかどうか
    const completion = await client.chat.completions.create({
      model: "qwen3-asr-flash",
      messages: [
        {
          role: "user",
          content: [
            {
              type: "input_audio",
              input_audio: {
                data: "{YOUR_AUDIO_URL}"
              }
            }
          ]
        }
      ],
      stream: streamEnabled,
      // stream が False に設定されている場合、stream_options パラメーターは設定できません
      // stream_options: {
      //   "include_usage": true
      // },
      asr_options: {
        // language: "zh",
        enable_itn: false
      }
    });

    if (streamEnabled) {
      let fullContent = "";
      console.log("ストリーミング出力:");
      for await (const chunk of completion) {
        console.log(JSON.stringify(chunk));
        if (chunk.choices && chunk.choices.length > 0) {
          const delta = chunk.choices[0].delta;
          if (delta && delta.content) {
            fullContent += delta.content;
          }
        }
      }
      console.log(`完全なコンテンツ:${fullContent}`);
    } else {
      console.log(`非ストリーミング出力:${completion.choices[0].message.content}`);
    }
  } catch (err) {
    console.error(`エラーメッセージ:${err}`);
  }
}

main();

cURL

以下の設定はシンガポールリージョン向けです。{WorkspaceId} を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。

curl -X POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3-asr-flash",
    "messages": [
        {
            "content": [
                {
                    "type": "input_audio",
                    "input_audio": {
                        "data": "{YOUR_AUDIO_URL}"
                    }
                }
            ],
            "role": "user"
        }
    ],
    "stream":false,
    "asr_options": {
        "enable_itn": false
    }
}'

入力:Base64 エンコードされた音声ファイル

Base64 エンコードされたデータを data:<mediatype>;base64,<data> の形式で Data URL として渡します。

  • <mediatype>:MIME タイプ。

    MIME タイプは音声フォーマットによって異なります。例:

    • WAV: audio/wav
    • MP3: audio/mpeg
  • <data>:音声の Base64 エンコード文字列。

    Base64 エンコーディングはデータサイズを増加させます。エンコード後の結果が入力音声サイズ制限 (10 MB) を満たすように、ソースファイルを十分に小さくしてください。

  • 例: data:audio/wav;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjI5LjEwMAAAAAAAAAAAAAAA//PAxABQ/BXRbMPe4IQAhl9

    サンプルコードを表示するにはクリック

    import base64, pathlib
    
    # input.mp3 は音声クローニングに使用されるローカル音声ファイルです。独自の音声ファイルのパスに置き換え、音声要件を満たしていることを確認してください。
    file_path = pathlib.Path("{YOUR_AUDIO_FILE}")
    base64_str = base64.b64encode(file_path.read_bytes()).decode()
    data_uri = f"data:audio/mpeg;base64,{base64_str}"
    
    import java.nio.file.*;
    import java.util.Base64;
    
    public class Main {
        /**
         * filePath は音声クローニングに使用されるローカル音声ファイルです。独自の音声ファイルのパスに置き換え、音声要件を満たしていることを確認してください。
         */
        public static String toDataUrl(String filePath) throws Exception {
            byte[] bytes = Files.readAllBytes(Paths.get(filePath));
            String encoded = Base64.getEncoder().encodeToString(bytes);
            return "data:audio/mpeg;base64," + encoded;
        }
    
        // 使用例
        public static void main(String[] args) throws Exception {
            System.out.println(toDataUrl("{YOUR_AUDIO_FILE}"));
        }
    }
    
import base64
from openai import OpenAI
import os
import pathlib

try:
    # 実際の音声ファイルパスに置き換えてください
    file_path = "{YOUR_AUDIO_FILE}"
    # 実際の音声ファイルの MIME タイプに置き換えてください
    audio_mime_type = "audio/mpeg"

    file_path_obj = pathlib.Path(file_path)
    if not file_path_obj.exists():
        raise FileNotFoundError(f"音声ファイルが存在しません:{file_path}")

    base64_str = base64.b64encode(file_path_obj.read_bytes()).decode()
    data_uri = f"data:{audio_mime_type};base64,{base64_str}"

    client = OpenAI(
        # API キーは、シンガポール/米国リージョンと北京リージョンで異なります。API キーの取得方法:https://www.alibabacloud.com/help/model-studio/get-api-key
        # 環境変数を設定していない場合は、次の行を Alibaba Cloud Model Studio API キーに置き換えてください:api_key = "sk-xxx",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        # 以下はシンガポールリージョンの設定です。呼び出し時に「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
        base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
    )

    stream_enabled = False  # ストリーミング出力を有効にするかどうか
    completion = client.chat.completions.create(
        model="qwen3-asr-flash",
        messages=[
            {
                "content": [
                    {
                        "type": "input_audio",
                        "input_audio": {
                            "data": data_uri
                        }
                    }
                ],
                "role": "user"
            }
        ],
        stream=stream_enabled,
        # stream が False に設定されている場合、stream_options パラメーターは設定できません
        # stream_options={"include_usage": True},
        extra_body={
            "asr_options": {
                # "language": "zh",
                "enable_itn": False
            }
        }
    )
    if stream_enabled:
        full_content = ""
        print("ストリーミング出力:")
        for chunk in completion:
            # stream_options.include_usage が True の場合、最後のチャンクの choices フィールドは空のリストであり、スキップする必要があります (トークン使用量は chunk.usage で取得できます)
            print(chunk)
            if chunk.choices and chunk.choices[0].delta.content:
                full_content += chunk.choices[0].delta.content
        print(f"完全なコンテンツ:{full_content}")
    else:
        print(f"非ストリーミング出力:{completion.choices[0].message.content}")
except Exception as e:
    print(f"エラーメッセージ:{e}")
// 実行前の準備:
// Windows/Mac/Linux 共通:
// 1. Node.js がインストールされていることを確認してください (バージョン 14 以上を推奨)
// 2. 次のコマンドを実行して、必要な依存関係をインストールします:npm install openai

import OpenAI from "openai";
import { readFileSync } from 'fs';

const client = new OpenAI({
  // API キーは、シンガポール/米国リージョンと北京リージョンで異なります。API キーの取得方法:https://www.alibabacloud.com/help/model-studio/get-api-key
  // 環境変数を設定していない場合は、次の行を Alibaba Cloud Model Studio API キーに置き換えてください:apiKey: "sk-xxx",
  apiKey: process.env.DASHSCOPE_API_KEY,
  // 以下はシンガポールリージョンの設定です。呼び出し時に「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
  baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
});

const encodeAudioFile = (audioFilePath) => {
    const audioFile = readFileSync(audioFilePath);
    return audioFile.toString('base64');
};

// 実際の音声ファイルパスに置き換えてください
const dataUri = `data:audio/mpeg;base64,${encodeAudioFile("{YOUR_AUDIO_FILE}")}`;

async function main() {
  try {
    const streamEnabled = false; // ストリーミング出力を有効にするかどうか
    const completion = await client.chat.completions.create({
      model: "qwen3-asr-flash",
      messages: [
        {
          role: "user",
          content: [
            {
              type: "input_audio",
              input_audio: {
                data: dataUri
              }
            }
          ]
        }
      ],
      stream: streamEnabled,
      // stream が False に設定されている場合、stream_options パラメーターは設定できません
      // stream_options: {
      //   "include_usage": true
      // },
      asr_options: {
        // language: "zh",
        enable_itn: false
      }
    });

    if (streamEnabled) {
      let fullContent = "";
      console.log("ストリーミング出力:");
      for await (const chunk of completion) {
        console.log(JSON.stringify(chunk));
        if (chunk.choices && chunk.choices.length > 0) {
          const delta = chunk.choices[0].delta;
          if (delta && delta.content) {
            fullContent += delta.content;
          }
        }
      }
      console.log(`完全なコンテンツ:${fullContent}`);
    } else {
      console.log(`非ストリーミング出力:${completion.choices[0].message.content}`);
    }
  } catch (err) {
    console.error(`エラーメッセージ:${err}`);
  }
}

main();

レスポンスボディ

idstring

この呼び出しの一意の識別子。

choicesarray

モデルからの出力情報。

プロパティ

finish_reasonstring

有効な値:

  • null:出力はまだ生成中です。
  • stop:出力は自然に終了したか、停止条件によって終了しました。
  • length:出力が最大長制限を超えました。

indexinteger

choices 配列内の現在のオブジェクトのインデックス。

messageobject

モデルによって出力されたメッセージオブジェクト。

プロパティ

rolestring

出力メッセージのロール。assistant に設定されます。

contentarray

音声認識結果。

annotationsarray

言語などの出力アノテーション情報。

プロパティ

languagestring

認識された音声の言語。language リクエストパラメーターが指定されている場合、この値は指定されたパラメーターと同じです。

有効な値

  • zh:中国語 (標準語、四川語、閩南語、呉語)
  • yue:広東語
  • en:英語
  • ja:日本語
  • de:ドイツ語
  • ko:韓国語
  • ru:ロシア語
  • fr:フランス語
  • pt:ポルトガル語
  • ar:アラビア語
  • it:イタリア語
  • es:スペイン語
  • hi:ヒンディー語
  • id:インドネシア語
  • th:タイ語
  • tr:トルコ語
  • uk:ウクライナ語
  • vi:ベトナム語
  • cs:チェコ語
  • da:デンマーク語
  • fil:フィリピン語
  • fi:フィンランド語
  • is:アイスランド語
  • ms:マレー語
  • no:ノルウェー語
  • pl:ポーランド語
  • sv:スウェーデン語

typestring

音声情報を示す audio_info に設定します。

emotionstring

認識された音声の感情。以下の感情がサポートされています:

  • surprised:驚き
  • neutral:中立
  • happy:喜び
  • sad: 悲しい
  • disgusted:嫌悪
  • angry:怒り
  • fearful: 恐ろしい

createdinteger

リクエストが作成されたときの UNIX タイムスタンプ (秒単位)。

modelstring

このリクエストに使用されたモデル。

objectstring

常に chat.completion です。

usageobject

このリクエストのトークン消費情報。

プロパティ

completion_tokens integer

モデル出力のトークン数。

completion_tokens_details object

モデル出力のトークンの詳細な情報。

プロパティ

text_tokens integer

モデル出力テキストのトークン数。

prompt_tokens object

入力のトークン数。

prompt_tokens_details object

入力のトークンの詳細な情報。

プロパティ

audio_tokens integer

入力音声の長さをトークンで表したもの。音声からトークンへの変換ルール:音声 1 秒ごとに 25 トークンに変換されます。1 秒未満の持続時間は 1 秒としてカウントされます。

text_tokens integer

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

seconds integer

音声の持続時間 (秒)。

total_tokens integer

入出力トークンの合計数 (total_tokens = completion_tokens + prompt_tokens)。

{
    "choices": [
        {
            "finish_reason": "stop",
            "index": 0,
            "message": {
                "annotations": [
                    {
                        "emotion": "neutral",
                        "language": "zh",
                        "type": "audio_info"
                    }
                ],
                "content": "Welcome to Alibaba Cloud.",
                "role": "assistant"
            }
        }
    ],
    "created": 1767683986,
    "id": "chatcmpl-487abe5f-d4f2-9363-a877-xxxxxxx",
    "model": "qwen3-asr-flash",
    "object": "chat.completion",
    "usage": {
        "completion_tokens": 12,
        "completion_tokens_details": {
            "text_tokens": 12
        },
        "prompt_tokens": 42,
        "prompt_tokens_details": {
            "audio_tokens": 42,
            "text_tokens": 0
        },
        "seconds": 1,
        "total_tokens": 54
    }
}
data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","created":1767685989,"object":"chat.completion.chunk","usage":null,"choices":[{"logprobs":null,"index":0,"delta":{"content":"","role":"assistant"}}]}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":"Welcome","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":" to","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":" Alibaba","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":" Cloud","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"annotations":[{"type":"audio_info","language":"zh","emotion":"neutral"}],"content":".","role":null},"index":0}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: {"model":"qwen3-asr-flash","id":"chatcmpl-3fb97803-d27f-9289-8889-xxxxx","choices":[{"delta":{"role":null},"index":0,"finish_reason":"stop"}],"created":1767685989,"object":"chat.completion.chunk","usage":null}

data: [DONE]

DashScope 同期

URL

シンガポール

HTTP リクエストアドレス: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK 呼び出しの base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

米国 (バージニア)

米国のデプロイメント範囲を選択した場合、モデル推論の計算リソースは米国内に制限されます。静的データは選択したリージョンに保存されます。サポートされているリージョン:米国 (バージニア)。

HTTP リクエストアドレス: POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK 呼び出しの base_url: https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1

中国 (北京)

HTTP リクエストアドレス: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK 呼び出しの base_url: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

重要Alibaba Cloud Model Studio は、中国 (北京) およびシンガポールリージョン向けにワークスペース固有のドメインをリリースしました。新しい専用ドメインは、推論リクエストに対して優れたパフォーマンスと高い安定性を提供します。新しいドメインへの移行を推奨します:

  • 中国 (北京): dashscope.aliyuncs.com から {WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • シンガポール: dashscope-intl.aliyuncs.com から {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

{WorkspaceId} を実際のワークスペース ID に置き換えてください。既存のドメインは引き続き完全に機能します。

リクエストボディ

modelstring(必須)

モデル名。このパラメーターは Qwen3-ASR-Flash モデルにのみ適用されます。

messagesarray(必須)

メッセージのリスト。

HTTP 呼び出しを行う場合、messagesinput オブジェクトに配置します。

メッセージタイプ

システムメッセージobject (任意)

背景テキストやエンティティ用語集など、音声認識のコンテキストを提供するために使用されます。モデルのロール設定やその他の従来のシステムプロンプトの設定はサポートしていません。システムメッセージを設定する場合、メッセージリストの先頭に配置してください。

Qwen3-ASR-Flash のみがこのパラメーターをサポートします。

プロパティ

rolestring(必須)

system に設定します。

ユーザーメッセージobject(必須)

ユーザーがモデルに送信したメッセージ。

プロパティ

contentarray(必須)

ユーザーメッセージのコンテンツ。配列には 1 つのメッセージのみが許可されます。

プロパティ

audiostring(必須)

認識対象の音声。このパラメーターの使用方法の詳細については、「クイックスタート」をご参照ください。

DashScope を使用する場合、Qwen3-ASR-Flash モデルは、Base64 エンコードされたファイル、ローカルファイルの絶対パス、およびパブリックネットワーク経由でアクセス可能な音声ファイルの URL の 3 つの入力形式をサポートします。

SDK を使用する場合、音声ファイルが OSS に保存されている場合、oss:// で始まる一時 URL はサポートされません。

RESTful API を使用する場合、音声ファイルが OSS に保存されている場合、oss:// で始まる一時 URL はサポートされます。注意:

重要

  • 一時 URL は 48 時間有効です。有効期限が切れると使用できなくなります。本番環境では使用しないでください。
  • ファイルアップロード認証情報 API は 100 QPS にレート制限されており、スケールアップできません。本番環境、高同時実行、またはストレステストシナリオでは使用しないでください。
  • 本番環境では、長期的なファイルの可用性を確保し、レート制限の問題を回避するために、Alibaba Cloud OSS などの安定したストレージサービスを使用することを推奨します。

rolestring(必須)

ユーザーメッセージのロール。user に設定します。

asr_optionsobject(任意)

特定の機能を有効にするかどうかを指定します。

このパラメーターは Qwen3-ASR-Flash モデルでのみサポートされます。

プロパティ

language string (任意) デフォルト値なし

音声の言語がわかっている場合は、このパラメーターを使用して指定することで、認識精度を向上させることができます。

指定できる言語は 1 つだけです。

音声の言語が不明な場合や、複数の言語 (中国語、英語、日本語、韓国語の混合など) が含まれる場合は、このパラメーターを指定しないでください。

有効な値

  • zh:中国語 (標準語、四川語、閩南語、呉語)
  • yue:広東語
  • en:英語
  • ja:日本語
  • de:ドイツ語
  • ko:韓国語
  • ru:ロシア語
  • fr:フランス語
  • pt:ポルトガル語
  • ar:アラビア語
  • it:イタリア語
  • es:スペイン語
  • hi:ヒンディー語
  • id:インドネシア語
  • th:タイ語
  • tr:トルコ語
  • uk:ウクライナ語
  • vi:ベトナム語
  • cs:チェコ語
  • da:デンマーク語
  • fil:フィリピン語
  • fi:フィンランド語
  • is:アイスランド語
  • ms:マレー語
  • no:ノルウェー語
  • pl:ポーランド語
  • sv:スウェーデン語

enable_itnboolean (任意) デフォルト: false

逆テキスト正規化 (ITN) を有効にするかどうかを指定します。この機能は、中国語と英語の音声にのみ適用されます。

  • true
  • false (デフォルト)

次の例は、URL から音声ファイルを認識する方法を示しています。ローカル音声ファイルを認識する方法の例については、「クイックスタート」をご参照ください。

curl -X POST "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3-asr-flash",
    "input": {
        "messages": [
            {
                "content": [
                    {
                        "audio": "{YOUR_AUDIO_URL}"
                    }
                ],
                "role": "user"
            }
        ]
    },
    "parameters": {
        "asr_options": {
            "enable_itn": false
        }
    }
}'
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

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.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.utils.JsonUtils;

public class Main {
    public static void simpleMultiModalConversationCall()
            throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalMessage userMessage = MultiModalMessage.builder()
                .role(Role.USER.getValue())
                .content(Arrays.asList(
                        Collections.singletonMap("audio", "{YOUR_AUDIO_URL}")))
                .build();

        Map<String, Object> asrOptions = new HashMap<>();
        asrOptions.put("enable_itn", false);
        // asrOptions.put("language", "zh"); // 任意。音声の言語がわかっている場合は、このパラメーターを使用して認識する言語を指定し、認識精度を向上させることができます
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // API キーは、シンガポール/米国リージョンと北京リージョンで異なります。API キーの取得方法:https://www.alibabacloud.com/help/model-studio/get-api-key
                // 環境変数を設定していない場合は、次の行を Alibaba Cloud Model Studio API キーに置き換えてください:.apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // 米国リージョンのモデルを使用する場合は、モデル名の後に「-us」サフィックスを追加します。例:qwen3-asr-flash-us
                .model("qwen3-asr-flash")
                .message(userMessage)
                .parameter("asr_options", asrOptions)
                .build();
        MultiModalConversationResult result = conv.call(param);
        System.out.println(JsonUtils.toJson(result));
    }
    public static void main(String[] args) {
        try {
            // 以下はシンガポールリージョンの設定です。呼び出し時に「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
            Constants.baseHttpApiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
            simpleMultiModalConversationCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}
import os
import dashscope

# 以下はシンガポールリージョンの設定です。呼び出し時に「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

messages = [
    {"role": "user", "content": [{"audio": "{YOUR_AUDIO_URL}"}]}
]

response = dashscope.MultiModalConversation.call(
    # API キーは、シンガポール/米国リージョンと北京リージョンで異なります。API キーの取得方法:https://www.alibabacloud.com/help/model-studio/get-api-key
    # 環境変数を設定していない場合は、次の行を Alibaba Cloud Model Studio API キーに置き換えてください:api_key = "sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 米国リージョンのモデルを使用する場合は、モデル名の後に「-us」サフィックスを追加します。例:qwen3-asr-flash-us
    model="qwen3-asr-flash",
    messages=messages,
    result_format="message",
    asr_options={
        #"language": "zh", # 任意。音声の言語がわかっている場合は、このパラメーターを使用して認識する言語を指定し、認識精度を向上させることができます
        "enable_itn":False
    }
)
print(response)

レスポンスボディ

request_idstring

この呼び出しの一意の識別子。

Java SDK によって返されるパラメーターは requestId

outputobject

呼び出し結果情報。

プロパティ

choicesarray

モデル出力。result_format が message の場合に返されます。

プロパティ

finish_reasonstring

有効な値:

  • null:出力はまだ生成中です。
  • stop:出力は自然に終了したか、停止条件によって終了しました。
  • length:出力が最大長制限を超えました。

messageobject

モデルによって出力されたメッセージオブジェクト。

プロパティ

rolestring

出力メッセージのロール。assistant に設定されます。

contentarray

出力メッセージのコンテンツ。

プロパティ

textstring

音声認識結果。

annotationsarray

言語などの出力アノテーション情報。

プロパティ

languagestring

認識された音声の言語。language リクエストパラメーターが指定されている場合、この値は指定されたパラメーターと同じです。

有効な値

  • zh:中国語 (標準語、四川語、閩南語、呉語)
  • yue:広東語
  • en:英語
  • ja:日本語
  • de:ドイツ語
  • ko:韓国語
  • ru:ロシア語
  • fr:フランス語
  • pt:ポルトガル語
  • ar:アラビア語
  • it:イタリア語
  • es:スペイン語
  • hi:ヒンディー語
  • id:インドネシア語
  • th:タイ語
  • tr:トルコ語
  • uk:ウクライナ語
  • vi:ベトナム語
  • cs:チェコ語
  • da:デンマーク語
  • fil:フィリピン語
  • fi:フィンランド語
  • is:アイスランド語
  • ms:マレー語
  • no:ノルウェー語
  • pl:ポーランド語
  • sv:スウェーデン語

typestring

音声情報を示す audio_info に設定します。

emotionstring

認識された音声の感情。以下の感情がサポートされています:

  • surprised:驚き
  • neutral:中立
  • happy:喜び
  • sad:悲しみ
  • disgusted:嫌悪
  • angry:怒り
  • fearful:恐怖

usageobject

このリクエストのトークン消費情報。

プロパティ

input_tokens_details object

Qwen3-ASR-Flash の入力コンテンツの長さをトークンで表したもの。

プロパティ

text_tokens integer

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

output_tokens_details object

Qwen3-ASR-Flash からの出力コンテンツの長さをトークンで表したもの。

プロパティ

text_tokens integer

Qwen3-ASR-Flash によって出力された認識テキストの長さをトークンで表したもの。

seconds integer

Qwen3-ASR-Flash の音声持続時間 (秒)。

{
    "output": {
        "choices": [
            {
                "finish_reason": "stop",
                "message": {
                    "annotations": [
                        {
                            "language": "zh",
                            "type": "audio_info",
                            "emotion": "neutral"
                        }
                    ],
                    "content": [
                        {
                            "text": "Welcome to Alibaba Cloud."
                        }
                    ],
                    "role": "assistant"
                }
            }
        ]
    },
    "usage": {
        "input_tokens_details": {
            "text_tokens": 0
        },
        "output_tokens_details": {
            "text_tokens": 6
        },
        "seconds": 1
    },
    "request_id": "568e2bf0-d6f2-97f8-9f15-a57b11dc6977"
}

DashScope 非同期呼び出し

プロセスの説明

非同期呼び出しは、長時間の音声ファイルや時間のかかるタスク向けに設計されています。リクエストのタイムアウトを防ぐために、「送信-ポーリング」の 2 段階のプロセスを使用します:

  1. ステップ 1:タスクの送信

    • クライアントは非同期処理リクエストを開始します。
    • リクエストを検証した後、サーバーはタスクをすぐに実行しません。代わりに、タスクが正常に作成されたことを示す一意の task_id を返します。
  2. ステップ 2:結果の取得

    • クライアントは task_id を使用して結果クエリ API をポーリングします。
    • タスクが完了すると、結果クエリ API は最終的な認識結果を返します。

統合環境に基づいて、SDK を使用するか、RESTful API を直接呼び出すかを選択できます。

  • SDK を使用します。サンプルコードについては、「クイックスタート」をご参照ください。リクエストパラメーターについては、タスクの送信操作のリクエストボディをご参照ください。応答については、「非同期呼び出し結果の説明」をご参照ください。

    SDK は、基盤となる API 呼び出しの詳細を自動的に処理します。

    1. タスクの送信:async_call() (Python) または asyncCall() (Java) メソッドを呼び出してタスクを送信します。このメソッドは、task_id を含むタスクオブジェクトを返します。
    2. 結果の取得:前のステップで返されたタスクオブジェクトまたは task_id を使用して、fetch() メソッドを呼び出して結果を取得します。SDK は、タスクが完了するかタイムアウトするまで、内部のポーリングロジックを自動的に処理します。
  • RESTful API を使用する

    RESTful API を直接呼び出すことで、最大限の柔軟性が得られます。

    1. タスクを送信します。リクエストが成功した場合、レスポンスボディには task_id が含まれます。
    2. 前のステップの task_id を使用して、タスク実行結果を取得します

タスクの送信

URL

シンガポール

HTTP リクエストアドレス: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription

SDK 呼び出しの base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

中国 (北京)

HTTP リクエストアドレス: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/audio/asr/transcription

SDK 呼び出しの base_url: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

重要Alibaba Cloud Model Studio は、中国 (北京) およびシンガポールリージョン向けにワークスペース固有のドメインをリリースしました。新しい専用ドメインは、推論リクエストに対して優れたパフォーマンスと高い安定性を提供します。新しいドメインへの移行を推奨します:

  • 中国 (北京): dashscope.aliyuncs.com から {WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • シンガポール: dashscope-intl.aliyuncs.com から {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

{WorkspaceId} を実際のワークスペース ID に置き換えてください。既存のドメインは引き続き完全に機能します。

リクエストボディ

modelstring(必須)

モデル名。このパラメーターは Qwen3-ASR-Flash-Filetrans モデルにのみ適用されます。

inputobject(必須)

プロパティ

file_url string(必須)

認識対象の音声ファイルの URL。URL はパブリックネットワーク経由でアクセス可能である必要があります。

SDK を使用する場合、音声ファイルが OSS に保存されている場合、oss:// で始まる一時 URL はサポートされません。

RESTful API を使用する場合、音声ファイルが OSS に保存されている場合、oss:// で始まる一時 URL はサポートされます。注意:

重要

  • 一時 URL は 48 時間有効です。有効期限が切れると使用できなくなります。本番環境では使用しないでください。
  • ファイルアップロード認証情報 API は 100 QPS にレート制限されており、スケールアップできません。本番環境、高同時実行、またはストレステストシナリオでは使用しないでください。
  • 本番環境では、長期的なファイルの可用性を確保し、レート制限の問題を回避するために、Alibaba Cloud OSS などの安定したストレージサービスを使用することを推奨します。

parametersobject(任意)

プロパティ

language string (任意) デフォルト値なし

音声の言語がわかっている場合は、このパラメーターを使用して指定することで、認識精度を向上させることができます。

指定できる言語は 1 つだけです。

音声の言語が不明な場合や、複数の言語 (中国語、英語、日本語、韓国語の混合など) が含まれる場合は、このパラメーターを指定しないでください。

有効な値

  • zh:中国語 (標準語、四川語、閩南語、呉語)
  • yue:広東語
  • en:英語
  • ja:日本語
  • de:ドイツ語
  • ko:韓国語
  • ru:ロシア語
  • fr:フランス語
  • pt:ポルトガル語
  • ar:アラビア語
  • it:イタリア語
  • es:スペイン語
  • hi:ヒンディー語
  • id:インドネシア語
  • th:タイ語
  • tr:トルコ語
  • uk:ウクライナ語
  • vi:ベトナム語
  • cs:チェコ語
  • da:デンマーク語
  • fil:フィリピン語
  • fi:フィンランド語
  • is:アイスランド語
  • ms:マレー語
  • no:ノルウェー語
  • pl:ポーランド語
  • sv:スウェーデン語

enable_itnboolean (任意) デフォルト: false

逆テキスト正規化 (ITN) を有効にするかどうかを指定します。この機能は、中国語と英語の音声にのみ適用されます。

  • true
  • false (デフォルト)

enable_wordsboolean(任意) デフォルト: false

単語レベルのタイムスタンプを返すかどうかを指定します:

  • false:文レベルのタイムスタンプを返します。

  • true:単語レベルのタイムスタンプを返します。

    単語レベルのタイムスタンプは、中国語、英語、日本語、韓国語、ドイツ語、フランス語、スペイン語、イタリア語、ポルトガル語、ロシア語のみでサポートされています。他の言語の精度は保証できません。

このパラメーターは、文のセグメンテーションルールにも影響します:

  • false:文のセグメンテーションは音声アクティビティ検出 (VAD) に基づいています。
  • true:文のセグメンテーションは VAD と句読点に基づいています。

channel_idarray(任意) デフォルト: [0]

マルチトラック音声ファイルで認識するオーディオトラックのインデックスを指定します。インデックスは 0 から始まります。たとえば、[0] は最初のオーディオトラックが認識されることを示し、[0, 1] は最初と 2 番目のオーディオトラックが同時に認識されることを示します。このパラメーターを省略した場合、デフォルトで最初のオーディオトラックが処理されます。

重要指定された各オーディオトラックは個別に課金されます。たとえば、1 つのファイルに対して [0, 1] をリクエストすると、2 回の個別の料金が発生します。

cURL

# ======= 重要 =======
# 以下はシンガポールリージョンの設定です。「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーの取得方法の詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
# === コマンドを実行する前にこのコメントを削除してください。===

curl --location --request POST 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-Async: enable" \
--data '{
    "model": "qwen3-asr-flash-filetrans",
    "input": {
        "file_url": "{YOUR_AUDIO_URL}"
    },
    "parameters": {
        "channel_id":[
            0
        ],
        "enable_itn": false
    }
}'

Java

SDK の例については、「クイックスタート」をご参照ください。

import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
import okhttp3.*;

import java.io.IOException;

public class Main {
    // 以下はシンガポールリージョンの設定です。「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
    private static final String API_URL = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription";

    public static void main(String[] args) {
        // シンガポールリージョンと北京リージョンの API キーは異なります。API キーの取得方法の詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
        // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:String apiKey = "sk-xxx"
        String apiKey = System.getenv("DASHSCOPE_API_KEY");

        OkHttpClient client = new OkHttpClient();
        Gson gson = new Gson();

        /*String payloadJson = """
                {
                    "model": "qwen3-asr-flash-filetrans",
                    "input": {
                        "file_url": "{YOUR_AUDIO_URL}"
                    },
                    "parameters": {
                        "channel_id": [0],
                        "enable_itn": false,
                        "language": "zh",
                        "corpus": {
                            "text": ""
                        }
                    }
                }
                """;*/
        String payloadJson = """
                {
                    "model": "qwen3-asr-flash-filetrans",
                    "input": {
                        "file_url": "{YOUR_AUDIO_URL}"
                    },
                    "parameters": {
                        "channel_id": [0],
                        "enable_itn": false
                    }
                }
                """;

        RequestBody body = RequestBody.create(payloadJson, MediaType.get("application/json; charset=utf-8"));
        Request request = new Request.Builder()
                .url(API_URL)
                .addHeader("Authorization", "Bearer " + apiKey)
                .addHeader("Content-Type", "application/json")
                .addHeader("X-DashScope-Async", "enable")
                .post(body)
                .build();

        try (Response response = client.newCall(request).execute()) {
            if (response.isSuccessful() && response.body() != null) {
                String respBody = response.body().string();
                // Gson を使用して JSON を解析
                ApiResponse apiResp = gson.fromJson(respBody, ApiResponse.class);
                if (apiResp.output != null) {
                    System.out.println("task_id: " + apiResp.output.taskId);
                } else {
                    System.out.println(respBody);
                }
            } else {
                System.out.println("タスク失敗!HTTP コード: " + response.code());
                if (response.body() != null) {
                    System.out.println(response.body().string());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    static class ApiResponse {
        @SerializedName("request_id")
        String requestId;

        Output output;
    }

    static class Output {
        @SerializedName("task_id")
        String taskId;

        @SerializedName("task_status")
        String taskStatus;
    }
}

Python

SDK の例については、「クイックスタート」をご参照ください。

import requests
import json
import os

# 以下はシンガポールリージョンの設定です。「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/audio/asr/transcription"

# シンガポールリージョンと北京リージョンの API キーは異なります。API キーの取得方法の詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
# 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:DASHSCOPE_API_KEY = "sk-xxx"
DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")

headers = {
    "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
    "Content-Type": "application/json",
    "X-DashScope-Async": "enable"
}

payload = {
    "model": "qwen3-asr-flash-filetrans",
    "input": {
        "file_url": "{YOUR_AUDIO_URL}"
    },
    "parameters": {
        "channel_id": [0],
        # "language": "zh",
        "enable_itn": False
        # "corpus": {
        #     "text": ""
        # }
    }
}

response = requests.post(url, headers=headers, data=json.dumps(payload))
if response.status_code == 200:
    print(f"task_id: {response.json()["output"]["task_id"]}")
else:
    print("タスク失敗!")
    print(response.json())

レスポンスボディ

request_idstring

この呼び出しの一意の識別子。

outputobject

呼び出し結果情報。

プロパティ

task_idstring

タスク ID。この ID は、音声認識タスクをクエリするための API のリクエストパラメーターとして渡されます。

task_statusstring

タスクのステータス:

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • UNKNOWN:タスクが存在しないか、ステータスが不明です。
{
    "request_id": "92e3decd-0c69-47a8-************",
    "output": {
        "task_id": "8fab76d0-0eed-4d20-************",
        "task_status": "PENDING"
    }
}

タスク実行結果の取得

URL

シンガポール

HTTP リクエストアドレス: GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}

SDK 呼び出しの base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

中国 (北京)

HTTP リクエストアドレス: GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

SDK 呼び出しの base_url: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1

{WorkspaceId} を実際のワークスペース ID に置き換えてください。

重要Alibaba Cloud Model Studio は、中国 (北京) およびシンガポールリージョン向けにワークスペース固有のドメインをリリースしました。新しい専用ドメインは、推論リクエストに対して優れたパフォーマンスと高い安定性を提供します。新しいドメインへの移行を推奨します:

  • 中国 (北京): dashscope.aliyuncs.com から {WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • シンガポール: dashscope-intl.aliyuncs.com から {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

{WorkspaceId} を実際のワークスペース ID に置き換えてください。既存のドメインは引き続き完全に機能します。

リクエストボディ

task_idstring(必須)

タスク ID。タスクの送信操作の応答から task_id を渡して、音声認識結果をクエリします。

cURL

# ======= 重要 =======
# 以下はシンガポールリージョンの設定です。「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーの取得方法の詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
# === コマンドを実行する前にこのコメントを削除してください。===

curl --location --request GET 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json"

Java

SDK の例については、「クイックスタート」をご参照ください。

import okhttp3.*;

import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        // 実際の task_id に置き換えてください。
        String taskId = "xxx";
        // シンガポールリージョンと北京リージョンの API キーは異なります。API キーの取得方法の詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
        // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:String apiKey = "sk-xxx"
        String apiKey = System.getenv("DASHSCOPE_API_KEY");

        // 以下はシンガポールリージョンの設定です。「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
        String apiUrl = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/" + taskId;

        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
                .url(apiUrl)
                .addHeader("Authorization", "Bearer " + apiKey)
                .addHeader("Content-Type", "application/json")
                .get()
                .build();

        try (Response response = client.newCall(request).execute()) {
            if (response.body() != null) {
                System.out.println(response.body().string());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Python

SDK の例については、「クイックスタート」をご参照ください。

import os
import requests

# シンガポールリージョンと北京リージョンの API キーは異なります。API キーの取得方法の詳細については、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
# 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:DASHSCOPE_API_KEY = "sk-xxx"
DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")

# 実際の task_id に置き換えてください。
task_id = "xxx"
# 以下はシンガポールリージョンの設定です。「{WorkspaceId}」を実際のワークスペース ID に置き換えてください。設定はリージョンによって異なります。
url = f"https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}"

headers = {
    "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
    "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
print(response.json())

レスポンスボディ

request_idstring

この呼び出しの一意の識別子。

outputobject

呼び出し結果情報。

プロパティ

task_idstring

タスク ID。この ID は、音声認識タスクをクエリするための API のリクエストパラメーターとして渡されます。

task_statusstring

タスクのステータス:

  • PENDING
  • RUNNING
  • SUCCEEDED
  • FAILED
  • UNKNOWN:タスクが存在しないか、ステータスが不明です。

resultobject

音声認識結果。

プロパティ

transcription_urlstring

認識結果ファイルのダウンロード URL。リンクは 24 時間有効です。リンクの有効期限が切れると、以前の URL を使用してタスクをクエリしたり、結果をダウンロードしたりすることはできません。
認識結果は JSON ファイルとして保存されます。このリンクからファイルをダウンロードするか、HTTP リクエストを使用してファイルの内容を直接読み取ることができます。

詳細については、「非同期呼び出し結果の説明」をご参照ください。

submit_timestring

タスクが送信された時刻。

schedule_timestring

タスクがスケジュールされた時刻、つまり実行の開始時刻。

end_timestring

タスクが終了した時刻。

task_metricsobject

タスクメトリック。サブタスクのステータスに関する統計情報が含まれます。

プロパティ

TOTALinteger

サブタスクの総数。

SUCCEEDEDinteger

成功したサブタスクの数。

FAILEDinteger

失敗したサブタスクの数。

codestring

エラーコード。これはタスクが失敗した場合にのみ返されます。

messagestring

エラーメッセージ。これはタスクが失敗した場合にのみ返されます。

usageobject

このリクエストのトークン消費情報。

プロパティ

seconds integer

Qwen3-ASR-Flash の音声持続時間 (秒)。

{
    "request_id": "6769df07-2768-4fb0-ad59-************",
    "output": {
        "task_id": "9be1700a-0f8e-4778-be74-************",
        "task_status": "RUNNING",
        "submit_time": "2025-10-27 14:19:31.150",
        "scheduled_time": "2025-10-27 14:19:31.233",
        "task_metrics": {
            "TOTAL": 1,
            "SUCCEEDED": 0,
            "FAILED": 0
        }
    }
}
{
    "request_id": "1dca6c0a-0ed1-4662-aa39-************",
    "output": {
        "task_id": "8fab76d0-0eed-4d20-929f-************",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-10-27 13:57:45.948",
        "scheduled_time": "2025-10-27 13:57:46.018",
        "end_time": "2025-10-27 13:57:47.079",
        "result": {
            "transcription_url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/pre/pre-funasr-mlt-v1/20251027/13%3A57/7a3a8236-ffd1-4099-a280-0299686ac7da.json?Expires=1761631066&OSSAccessKeyId=YOUR_ACCESS_KEY_ID&Signature=YOUR_SIGNATURE&response-content-disposition=attachment%3Bfilename%3D7a3a8236-ffd1-4099-a280-0299686ac7da.json"
        }
    },
    "usage": {
        "seconds": 3
    }
}
{
    "request_id": "3d141841-858a-466a-9ff9-************",
    "output": {
        "task_id": "c58c7951-7789-4557-9ea3-************",
        "task_status": "FAILED",
        "submit_time": "2025-10-27 15:06:06.915",
        "scheduled_time": "2025-10-27 15:06:06.967",
        "end_time": "2025-10-27 15:06:07.584",
        "code": "FILE_403_FORBIDDEN",
        "message": "FILE_403_FORBIDDEN"
    }
}

非同期呼び出し結果の説明

file_url string

認識された音声ファイルの URL。

audio_infoobject

認識された音声ファイルに関する情報。

プロパティ

format string

音声フォーマット。

sample_rate integer

音声サンプリングレート。

transcriptsarray

完全な認識結果のリスト。各要素は、オーディオトラックの認識されたコンテンツに対応します。

プロパティ

channel_idinteger

オーディオトラックのインデックス。0 から始まります。

textstring

認識されたテキスト。

sentencesobject

文レベルの認識結果のリスト。

プロパティ

begin_time integer

文の開始タイムスタンプ (ミリ秒)。

end_time integer

文の終了タイムスタンプ (ミリ秒)。

textstring

認識されたテキスト。

sentence_idinteger

文のインデックス。0 から始まります。

languagestring

認識された音声の言語。language リクエストパラメーターが指定されている場合、この値は指定されたパラメーターと同じです。

有効な値

  • zh:中国語 (標準語、四川語、閩南語、呉語)
  • yue:広東語
  • en:英語
  • ja:日本語
  • de:ドイツ語
  • ko:韓国語
  • ru:ロシア語
  • fr:フランス語
  • pt:ポルトガル語
  • ar:アラビア語
  • it:イタリア語
  • es:スペイン語
  • hi:ヒンディー語
  • id:インドネシア語
  • th:タイ語
  • tr:トルコ語
  • uk:ウクライナ語
  • vi:ベトナム語
  • cs:チェコ語
  • da:デンマーク語
  • fil:フィリピン語
  • fi:フィンランド語
  • is:アイスランド語
  • ms:マレー語
  • no:ノルウェー語
  • pl:ポーランド語
  • sv:スウェーデン語

emotionstring

認識された音声の感情。以下の感情がサポートされています:

  • surprised
  • neutral
  • happy
  • sad
  • disgusted
  • angry
  • fearful

wordsobject

単語レベルの認識結果のリスト。この結果は、enable_words リクエストパラメーターが true に設定されている場合に表示されます。

プロパティ

begin_time integer

開始タイムスタンプ (ミリ秒)。

end_time integer

終了タイムスタンプ (ミリ秒)。

textstring

認識されたテキスト。

punctuationstring

句読点。

{
    "file_url": "https://***.wav",
    "audio_info": {
        "format": "wav",
        "sample_rate": 16000
    },
    "transcripts": [
        {
            "channel_id": 0,
            "text": "Senior staff, Principal Doris Jackson, Wakefield faculty, and of course my fellow classmates.I am honored to have been chosen to speak before my classmates along with the students across America today.",
            "sentences": [
                {
                    "sentence_id": 0,
                    "begin_time": 240,
                    "end_time": 6720,
                    "language": "en",
                    "emotion": "happy",
                    "text": "Senior staff, Principal Doris Jackson, Wakefield faculty, and of course my fellow classmates.",
                    "words": [
                        {
                            "begin_time": 240,
                            "end_time": 1120,
                            "text": "Senior ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 1120,
                            "end_time": 1200,
                            "text": "staff",
                            "punctuation": ","
                        },
                        {
                            "begin_time": 1680,
                            "end_time": 1920,
                            "text": " Principal ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 2000,
                            "end_time": 2320,
                            "text": "Doris ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 2320,
                            "end_time": 2960,
                            "text": "Jackson",
                            "punctuation": ","
                        },
                        {
                            "begin_time": 3360,
                            "end_time": 3840,
                            "text": " Wakefield ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 3840,
                            "end_time": 4480,
                            "text": "faculty",
                            "punctuation": ","
                        },
                        {
                            "begin_time": 4800,
                            "end_time": 4960,
                            "text": " and ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 4960,
                            "end_time": 5040,
                            "text": "of ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 5040,
                            "end_time": 5520,
                            "text": "course ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 5520,
                            "end_time": 5680,
                            "text": "my ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 5760,
                            "end_time": 6000,
                            "text": "fellow ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 6000,
                            "end_time": 6720,
                            "text": "classmates",
                            "punctuation": "."
                        }
                    ]
                },
                {
                    "sentence_id": 1,
                    "begin_time": 12268,
                    "end_time": 17388,
                    "language": "en",
                    "emotion": "neutral",
                    "text": "I am honored to have been chosen to speak before my classmates along with the students across America today.",
                    "words": [
                        {
                            "begin_time": 12268,
                            "end_time": 12428,
                            "text": "I ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 12428,
                            "end_time": 12508,
                            "text": "am ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 12588,
                            "end_time": 12828,
                            "text": "honored ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 12908,
                            "end_time": 12908,
                            "text": "to ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 12908,
                            "end_time": 13068,
                            "text": "have ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 13068,
                            "end_time": 13228,
                            "text": "been ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 13228,
                            "end_time": 13628,
                            "text": "chosen ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 13628,
                            "end_time": 13708,
                            "text": "to ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 13708,
                            "end_time": 14028,
                            "text": "speak ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 14028,
                            "end_time": 14268,
                            "text": "before ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 14268,
                            "end_time": 14428,
                            "text": "my ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 14428,
                            "end_time": 15148,
                            "text": "classmates ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15308,
                            "end_time": 15468,
                            "text": "as ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15468,
                            "end_time": 15628,
                            "text": "well ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15628,
                            "end_time": 15788,
                            "text": "as ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15788,
                            "end_time": 15788,
                            "text": "the ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 15788,
                            "end_time": 16188,
                            "text": "students ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 16188,
                            "end_time": 16588,
                            "text": "across ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 16588,
                            "end_time": 16988,
                            "text": "America ",
                            "punctuation": ""
                        },
                        {
                            "begin_time": 16988,
                            "end_time": 17388,
                            "text": "today",
                            "punctuation": "."
                        }
                    ]
                }
            ]
        }
    ]
}