Skip to main content

Qwen-Audio-ASR-Filetrans Node.js SDK

音声 Node.js SDK で Qwen-Audio-ASR-Filetrans に音声 URL を送信し、非同期タスクの照会と文字起こし結果のダウンロードを行います。

SDK のインストール

Node.js 18 以降が必要です。SDK 0.1.0 パッケージをダウンロードし、プロジェクトで次を実行します。
npm install ./dashscope-sdk-nodejs-0.1.0.tgz

クイックスタート

コンソールで API キーを取得し、環境変数 DASHSCOPE_API_KEY に設定します。 次のサンプルを example.mjs として保存し、node example.mjs を実行します。
import { TranscriptionClient } from 'dashscope-sdk-nodejs/asr'

const client = new TranscriptionClient({
  apiKey: process.env.DASHSCOPE_API_KEY,
  workspaceId: process.env.DASHSCOPE_WORKSPACE_ID,
  baseUrl: 'dashscope-intl.aliyuncs.com',
  model: 'qwen-audio-3.1-asr-flash-filetrans',
})
const job = await client.transcribe(
  'https://dashscope.oss-cn-beijing.aliyuncs.com/audios/welcome.mp3',
)
for (const result of job.results) {
  if (result.subtaskStatus === 'SUCCEEDED') {
    console.log('Transcript:', result.text)
  } else {
    console.error(result.code, result.message)
    process.exitCode = 1
  }
}

API リファレンス

コンストラクターのオプション

TranscriptionClient のコンストラクターオプション:
パラメーター型必須説明
apiKeystringいいえAPI キー。デフォルトは DASHSCOPE_API_KEY。
workspaceIdstringいいえワークスペース ID。デフォルトは DASHSCOPE_WORKSPACE_ID。
baseUrlstringいいえサービスホスト名を dashscope-intl.aliyuncs.com(シンガポール)に設定します。
modelstringいいえモデル ID。デフォルト:qwen-audio-3.1-asr-flash-filetrans。
pollIntervalMsnumberいいえ照会間隔。デフォルト:3000 ms。
pollTimeoutMsnumberいいえポーリングタイムアウト(ms)。デフォルト:600000。
requestTimeoutMsnumberいいえHTTP リクエストのタイムアウト(ms)。デフォルト:30000。0 で個別のタイムアウトを無効化します。

文字起こしパラメーター

transcribe() と submitTask() の第 2 引数は parameters、第 3 引数には context を指定できます。モデルパラメーターの詳細は HTTP API を参照してください。
パラメーター型必須説明
fileUrlsstring | string[]はい公開アクセス可能な音声 URL。タスクごとに 1 ファイル。
parameters.keep_dialectbooleanいいえ方言表現を保持します。デフォルト:false。
parameters.vocabulary_idstringいいえ事前コンパイル済み語彙リスト ID。
parameters.vocabularyRecord<string, number>いいえ即時語彙。キーは単語、値は重み [1,5] または 50。
parameters.channel_idnumber[]いいえ音声チャンネルのインデックス。デフォルト:[0]。
parameters.special_word_filterstring | Record<string, unknown>いいえ機密語フィルターの設定。JSON 文字列またはオブジェクト。
parameters.diarization_enabledbooleanいいえモノラル音声の話者分離。デフォルト:false。
parameters.speaker_countnumberいいえ話者数の目安:[2,100]。話者分離を有効にする必要があります。
parameters.language_hintsstring[]いいえ認識言語のヒント。先頭の最大 4 値が有効です。省略時は自動認識します。
callOpts.context / submitOpts.contextAsrContextMessage[]いいえ認識コンテキスト。形式は { role, content: [{ type: "input_text", text }] }、role は user または assistant。各ロール最大 5 件、合計 400 文字未満で、対話のターン順に並べます。
callOpts.onProgress(status: string, response: QueryTaskResponse) => voidいいえstatus と元の response を受け取る進行コールバック。

主なメソッド

メソッド戻り値説明
transcribe(fileUrls: string | string[], parameters?: TranscriptionParameters, callOpts?: TranscribeCallOptions)Promise<TranscriptionJobResult>音声を送信し、照会と結果ダウンロードを行います。callOpts にコンテキストと進行コールバックを指定できます。
submitTask(fileUrls: string | string[], parameters?: TranscriptionParameters, submitOpts?: TranscriptionSubmitOptions)Promise<{ taskId: string; taskStatus: string }>タスクを送信し、ID と初期状態を返します。submitOpts.context でコンテキストを指定します。
fetchTask(taskId: string, requestTimeoutMs?: number)Promise<QueryTaskResponse>タスクを 1 回照会し、状態と結果 URL を返します。

戻り値

フィールド型説明
taskIdstringタスク ID。
taskStatusstringタスク状態。
resultsFileTranscriptionResult[]ファイル結果の一覧。subtaskStatus、text、transcription を含み、失敗時は code、message を含みます。
usageRecognitionUsage | undefinedサービスが返す使用量統計。
rawQueryTaskResponse元のタスク照会応答。