API タスク制限#
生成用のインターフェースは非同期のタスク処理を使用します。タスクが正常に作成されると、API は taskId を返します。結果取得エンドポイントで、タスクの状態、進捗、キュー内の位置、最終出力を確認します。
このドキュメントでは、API 連携の公開タスク制限について説明します。毎分のリクエスト数、未完了ジョブ、複数タスクを送信した場合のクレジットの課金方法を扱います。
レート制限の概要#
生成用のインターフェースには、タスク作成に対する固定の公開 毎分リクエスト数 制限はありません。実際の制限は、アカウントが同時に保持する未完了ジョブの数に基づきます。
| ワークフロー | 毎分のリクエスト数 | 同時実行または未完了ジョブ | クレジットの課金 |
|---|---|---|---|
| AI 3D | 固定の公開 RPM 制限なし | 同時に実行するジョブは 1 件。追加で送信したジョブはキューで待機します。 | 受け付けたタスクごとに課金 |
| その他の生成インターフェース | 固定の公開 RPM 制限なし | アカウントとワークフローごとに 未完了ジョブ最大 30 件 | 受け付けたタスクごとに課金 |
未完了ジョブには、待機中と実行中の両方のジョブが含まれます。
30 件のジョブ制限はタスク数の制限であり、クレジットパッケージや無料枠ではありません。受け付けた各生成タスクは、その API のクレジット規則に従って課金されます。
タスクの状態#
| 状態 | 意味 | 未完了として数える |
|---|---|---|
Unprocessed | タスクが受け付けられ、実行を待っています | はい |
Processing | タスクは現在実行中です | はい |
Success | タスクが正常に完了しました | いいえ |
Failed | タスクが失敗しました | いいえ |
結果取得エンドポイントは、待機中タスクのキュー内の位置を示す waitNumber を返す場合もあります。タスクが実行中または終了済みの場合、waitNumber は通常 0 です。
AI 3D タスク#
AI 3D タスクは一度に一つずつ処理されます。
複数の AI 3D タスクを送信でき、正常に受け付けられるたびに taskId が返ります。ただし、同時に実行される AI 3D タスクは一つだけです。追加の AI 3D タスクは、現在のタスクが終了するまで待機します。
推奨される連携の動作:
- 返された
taskIdを保存します。 - 3-5 秒 ごとに結果取得エンドポイントをポーリングします。
Unprocessedを待機中として扱います。Processingを実行中として扱います。waitNumberとpercentageでユーザーに進捗を表示します。
その他の生成タスク#
AI 3D 以外の生成ワークフローでは、各アカウントが同じワークフローで保持できる 未完了ジョブは最大 30 件 です。
これはアカウント単位の制限です。同じアカウント内で複数の API キーを作成しても、同じ制限を共有します。
必ずしも 30 件すべてが同時に実行されるわけではありません。待機中のジョブと実行中のジョブがあり、この制限は両方を数えます。
アカウントがあるワークフローで未完了ジョブをすでに 30 件保持している場合、そのワークフローへの新しいタスク送信は、既存ジョブが終了するまで一時的に拒否される場合があります。
| コード | 名前 | 意味 |
|---|---|---|
9015 | TASK_NOT_COMPLETED | アカウントがこのワークフローの未完了ジョブの上限に達しています。既存ジョブの完了後に再試行してください。 |
クレジットと未完了ジョブ#
生成タスクが正常に作成されるとクレジットが差し引かれます。タスクが最終的に失敗した場合、差し引かれたクレジットは自動的に返還されます。
未完了ジョブの制限によって、タスクごとのクレジット消費量は変わりません。複数タスクを送信した場合、受け付けられた各タスクに個別に課金されます。
例:
| 例 | 現在の未完了ジョブ | タスク作成時の消費クレジット |
|---|---|---|
| 家具変更タスクを 30 件送信 | 30 | 30 x 1 クレジット = 30 クレジット |
modelType: "Base" の室内装飾タスクを 30 件送信 | 30 | 30 x 3 クレジット = 90 クレジット |
modelType: "Pro" の室内装飾タスクを 30 件送信 | 30 | 30 x 10 クレジット = 300 クレジット |
造園タスクを Flash で 10 件、Base で 10 件、Pro で 10 件送信 | 30 | 10 x 1 + 10 x 3 + 10 x 10 = 140 クレジット |
クレジットの全料金表は、クレジット消費リファレンスを参照してください。
結果取得エンドポイントのポーリングは、新しい生成タスクを作成せず、未完了ジョブにも数えられません。
サービス混雑時の一時的なレスポンス#
サービスが混雑しているために、新しいタスクの送信が一時的に拒否される場合があります。アカウントの未完了ジョブが 30 件未満でも発生する可能性があります。
| コード | 名前 | 意味 |
|---|---|---|
5020 | QUEUE_TASK_OVERFLOW | サービスが現在混雑しています。後で再試行してください。 |
これは一時的な状態です。恒久的な失敗として扱わないでください。
推奨されるクライアントの動作#
- 返されたすべての
taskIdを保存します。 - タスクの状態を定期的にポーリングします。
- アカウントとワークフローごとに、未完了ジョブの一覧をローカルで管理します。
- 状態が
SuccessまたはFailedになったら、未完了の一覧からジョブを削除します。 - AI 3D 以外のワークフローでは、追加送信の前に未完了ジョブを 30 件以下 に保ちます。
9015または5020を受け取った場合は、間隔を空けて再試行します。
推奨される再試行の動作:
| 状況 | 推奨される対応 |
|---|---|
9015 TASK_NOT_COMPLETED | 同じアカウントとワークフローの既存ジョブが完了するのを待ってから再試行します。 |
5020 QUEUE_TASK_OVERFLOW | 待ち時間を延ばしながら再試行します。 |
タスクが Unprocessed | タスクは待機中です。ポーリングを続けます。 |
タスクが Processing | タスクは実行中です。ポーリングを続けます。 |
より高い処理量が必要な場合#
標準の アカウントとワークフローごとに未完了ジョブ 30 件 という制限では連携要件を満たせない場合、[email protected] までご連絡ください。利用目的を確認し、処理量の引き上げや専用構成について相談できます。