クレジットとレート制限
生成では統合ウォレットからクレジットを消費します。ジョブの開始時に差し引かれ、失敗した場合は自動的に返金されます。
コストは選択したエンジンとオプションによって決まります。画像はモデルによって15〜200クレジットの幅があり(2K/4K出力ではさらに高くなります)、バッチのコストを左右するのは通常、リクエスト数ではなくモデルの選択です。各モデルの正確な基準値はGET /v1/modelsのcost(およびtextureCost)フィールドです。現在の残高はGET /v1/creditsで確認してください。
コスト
| 操作 | 一般的なコスト |
|---|---|
| 画像生成 | ≈ 15〜200クレジット(モデル依存) |
| テキスト / 画像 → 3D | ≈ 60〜660クレジット(エンジン・オプション依存) — 既定(PB Slim+テクスチャ。/v1 は texture: false を送らない限りテクスチャを付けます)はテキスト 240・画像 300 |
| リメッシュ | 10クレジットから(PB Remesh) |
| リテクスチャ・オートリグ | エンジンによって異なります。GET /v1/modelsを参照 |
クレジットのドル換算
プランは年額プランも含めて毎月クレジットを付与します(使わなかったプランのクレジットは繰り越されません)。有料プランなら、クレジットパックで追加もできます。1,000クレジットあたりの価格は次のとおりです。
| クレジットの入手方法 | 価格 | 1,000クレジットあたり |
|---|---|---|
| Max · 月額 | $96で100,000 | $0.96 |
| Pro · 月額 | $32で30,000 | $1.07 |
| Starter · 月額 | $12で10,000 | $1.20 |
| クレジットパック · 有料プラン | $14.99で6,000 〜 $499.99で300,000 | $1.67〜$2.50 |
既定の画像 → 3Dジョブ(PB Slim+テクスチャ、300クレジット)は、Maxで約$0.29、Starterで約$0.36です。年額プランはクレジットあたりの価格がさらに下がります。最新の価格は常に料金ページが基準です。
taskStatus: 3で終了したジョブに費用は発生しません。レート制限
| 制限 | 範囲 | 超過時 |
|---|---|---|
| 240 / 分 | クライアントIPごと | 429 · error.code 10003 |
| 120 / 分 | ユーザーごと(生成POST) |
制限を超えるとerror.code 10003とともに429を返します。指数的に遅延を増やしてバックオフし(~1 秒から開始、最大~30 秒)、再試行してください。本番環境の処理量に向けて、より高い制限が必要ですか?お問い合わせください。
キーごとの1日の安全上限
1つのAPIキーでリクエストした生成が1日(KST)で20,000クレジットに達すると、そのキーは自動で一時停止されます。キーが漏えいしたときに、クレジットが一度に失われるのを防ぐための仕組みです。一時停止中に使えるのは参照とダウンロードだけで(すでに開始したジョブの結果は受け取れます)、それ以外のリクエストには403(error.code 6016)が返ります。アカウントの所有者には通知メールが届き、API Keysページからキーを再開できます。再開すると、その日はさらに20,000クレジットまで使え、それを超えると再び一時停止されます。心当たりのない利用であれば、再開せずにキーを削除し、新しいキーを作成してください。
同時生成
分あたりのリクエストレートとは別に、アカウントには同時に進行できるジョブ数の上限があります。つまりtaskStatusが0(待機中)または1(処理中)の状態にあるジョブです。画像と3Dのジョブはそれぞれ独立した予算を使い、各予算は同じアカウントでログインしたPicoBerry Webアプリと共有されます。
| プラン | 同時進行中の画像 | 同時進行中の3D・後処理 |
|---|---|---|
| Free | 1 | 1 |
| Starter | 3 | 5 |
| Pro | 6 | 20 |
| Max | 15 | 30 |
上限を超えて送信するとerror.code 13002とともに429を返します。何も課金されず、キューにも入りません。リクエストは単に拒否されるので、スロットが空いたら再試行してください。
{ "success": false, "error": { "code": 13002, "message": "Generation queue is full", "httpStatus": 429, "details": { "total": 15, "maxTotal": 15 } } }details.maxTotalは現在の上限、details.totalは今進行中の数です。数字をハードコードせずmaxTotalを読み取ってください。これが予算の全体であり、アップグレードすると増え、低く見積もるクライアントは処理量を静かに無駄にします。一般的なパターンは、maxTotal件のリクエストを走らせ続け、ジョブがtaskStatus2または3に達するたびにもう1件開始することです。