非同期ジョブ
非同期 TTS ジョブを作成してポーリングします。
非同期ジョブ
非同期 TTS ジョブは、長いテキスト、バッチ生成、Webhook スタイルのワークフロー、およびオーディオの処理中にユーザーがページから離れることができる UI フローに使用します。
ジョブの作成
POST /api/open/v1/speech/tts/jobs
Authorization: Bearer KITTA_API_KEY
Content-Type: application/json### リクエスト
{
"text": "Hello from Kitta Audio.",
"voiceId": "00a1b221-6137-4b73-ad62-b0cbce134167",
"modelId": "fishaudio-s2pro",
"format": "mp3"
}テキスト ハッシュ、要求された音声、返されたタスク ID をデータベースに保存します。作成後にワーカーがクラッシュした場合は、2 番目のジョブを作成するよりもタスク ID によるポーリングの方が安全です。
この例では、パブリック システム テスト音声 00a1b221-6137-4b73-ad62-b0cbce134167 を使用します。接続を確認した後、希望の音声 ID に置き換えてください。
curl https://kittaai.com/api/open/v1/speech/tts/jobs \
-H "Authorization: Bearer KITTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello from Kitta Audio.","voiceId":"00a1b221-6137-4b73-ad62-b0cbce134167","modelId":"fishaudio-s2pro","format":"mp3"}'### 応答
作成エンドポイントは、タスク オブジェクトを含む 202 Accepted を返します。正確なタスク フィールドは進化する可能性がありますが、クライアントは少なくとも ID とステータスを保存する必要があります。
{
"id": "task_123",
"status": "queued"
}仕事を得る
GET /api/open/v1/speech/tts/jobs/{taskId}
Authorization: Bearer KITTA_API_KEY有効期間の短いオーディオ URL を生成できる場合、成功したタスクには audioUrl が含まれます。失敗したタスクにはエラー コードまたはメッセージが含まれます。 queued と processing を非終了状態として扱い、バックオフでポーリングします。
請求とクレジット
非同期ジョブは、有効なモデルに応じて、タスクの作成中または完了中にクレジットを予約または消費する場合があります。ユーザーが明示的に 2 番目の出力を要求しない限り、再試行戦略として重複ジョブを作成しないでください。タスク ID を保存し、そこから回復します。
バッチの場合は、多数のタスクを追加する前に、側で同時実行性を調整し、プロファイル を確認してください。クレジット不足のために 1 つのタスクが失敗した場合は、アカウント所有者が残高を解決するまでバッチの rest を一時停止します。
エラー
| ステータス | 意味 | アクション |
|---|---|---|
400 | 無効なテキスト、音声、モデル、または出力形式です。ペイロードを修正する | |
401 | 認証に失敗しました | ポーリングを停止し、資格情報を更新します。 |
402 | クレジットまたは割り当てが不十分です | キューを一時停止する |
404 | タスク ID はこの API キーにとって不明です | 同じアカウントに対して返された ID を保存していることを確認してください |
429 | 作成リクエストまたはポーリングリクエストが多すぎます | タスクを終了してタスク ID を維持します |