コンソール

基本概念

Moss APIのモデル識別子、入力形式、リクエストの実行方式、レスポンスの返し方を理解します。

モデルとシナリオ

連携する際は、まずビジネスシナリオからモデルを選択します。シナリオガイドでは推奨される呼び出し方法とコピーして使えるサンプルを、APIリファレンスでは完全なリクエストパラメータ、戻り値、エラーの説明を提供しています。

やりたいことまず参照するページ
最初の呼び出しをすばやく完了するクイックスタート
適切なモデルを選ぶモデル一覧
ビジネスシナリオに沿って連携するシナリオガイド
フィールドとレスポンス構造を確認するAPI概要
シナリオ実際の呼び出し方法
単一話者の音声生成model=moss-tts-1.5-flash
複数話者の文字起こしmodel=moss-transcribe-diarize-pro
画像・動画の理解model=moss-vl-1.0

入力方法

エンドポイントによって受け付ける入力方法は異なります。テキストと設定は通常JSONリクエストボディに含めます。ローカルファイルを直接アップロードする場合はmultipart/form-dataを使用します。アップロード済みまたはホストされているファイルは、file_idまたはURLで参照できます。

方法説明主な用途
JSONフィールドリクエストボディでテキスト、パラメータ、参照IDを直接渡しますTTS input、VL input_text、voice_id
ローカルファイルAPIで指定されたファイルフィールド(fileなど)でアップロードします。ボイスの作成にはaudio_sampleを使用します音声の文字起こし、ボイスの作成、ファイルのアップロード
file_id先にファイルをアップロードし、各機能のAPIで再利用します音声の文字起こし、マルチモーダル理解
URLパブリックURLまたはオブジェクトストレージのURLを渡します。サーバー側からアクセスできる必要があります音声の文字起こし、マルチモーダル理解

voice_id

voice_idは音声生成で使用するボイスの一意な識別子です。TTSとTTSDはボイスIDのみを受け付け、voice_url、voice_data、インライン音声、参照音声をボイスの入力として受け付けません。

取得方法説明
ボイス一覧の取得GET /v1/audio/voicesを呼び出して、現在のアカウントで利用可能なボイスを取得します。
ボイスの作成POST /v1/audio/voicesを呼び出して参照音声をアップロードし、新しいボイスを生成します。
ボイスライブラリからのコピーMosslandボイスライブラリでボイスカードのIDをコピーします。

同期、非同期、ストリーミング

同期、非同期、ストリーミングは、それぞれ異なる実行方式です。ストリーミングは非同期と同じではなく、双方向のリアルタイム対話とも異なります。

方式説明適したシナリオ
同期リクエストの接続を維持し、処理が完了すると結果を直接返します。短いテキストのTTS、短い音声の文字起こし、画像理解
非同期async=trueを渡してタスクを作成します。task_idで完全な結果を照会し、必要に応じてwebhook_urlで最終状態の通知を受け取れます。比較的長い音声生成、比較的長い音声処理
ストリーミングstream=trueを渡すと、サーバー側が音声チャンクまたはイベントを継続的に返します。低レイテンシのTTS、文字起こしイベントのリアルタイム返却

エンドポイントがストリーミングに対応している場合、APIリファレンスのリクエストパラメータにstream、stream_format、対応するレスポンスイベントが明記されています。通常、stream=trueとasync=trueは同時に渡さないでください。

レスポンスタイプと読み取り方法

エンドポイントによって返されるオブジェクトは異なります。クライアントは該当するリファレンスに従って必要なフィールドを読み取り、使用しない互換フィールドは無視してください。

レスポンスタイプ読み取り方法
音声バイナリContent-Typeがaudio/*の場合は、レスポンスボディを直接読み取って音声を保存または再生します。JSONとして解析しないでください。
音声結果JSONstatus=SUCCESSを確認してからurlを読み取り、生成された音声を取得します。結果ファイルは速やかにダウンロードしてください。
非同期作成JSONtask_idとretry_afterを読み取り、GET /v1/audio/tasks/{task_id}を呼び出してタスクを照会します。
タスク照会JSONstatusでタスクの状態を判断します。成功した場合は機能に応じてurl、text、またはsegmentsを読み取り、失敗した場合はerrorを読み取ります。
文字起こしJSON通常の文字起こしではtextを読み取ります。話者分離の結果ではtextとsegmentsを読み取ります。
Responses APIオブジェクトstatus=completedを確認してからoutput[].content[].textを読み取ります。status=incompleteの場合はincomplete_detailsを確認します。
SSEイベントストリームContent-Typeがtext/event-streamの場合は、各data:内のJSONを順番に解析し、typeに応じて増分イベントと終了イベントを処理します。
エラーJSONリクエストが失敗した場合は、error.code、error.message、error.paramなどのフィールドを読み取って問題を特定します。

エラーとトラブルシューティング

現象主な原因
400リクエスト構造、フィールド値、ファイル数、または入力形式が要件を満たしていません。
401APIキーがない、誤っている、または無効になっています。
403アカウント権限、モデル権限、またはセキュリティポリシーによる制限です。
404リクエストしたリソースが存在しません。
413ファイルまたはリクエストボディが上限を超えています。
429リクエスト頻度または同時実行数が上限を超えています。
5xxサーバー側または上流モデルの異常です。エラーメッセージに従って再試行するか、サポートにお問い合わせください。

トラブルシューティングの際は、まずエンドポイント、モデル、入力方法、ファイルサイズ、URLのアクセス可否、エラーボディ内のerror.codeを確認してください。完全なエラー構造はエラーコードを参照してください。