OpenAPI の課金とエラー
プロバイダー: Felo · プラットフォーム残高で支払い
このページは /api/v1/data/*、つまり Felo OpenAPI のプラットフォーム専用 API に適用されます。呼び出しには プラットフォーム残高、つまり USD 建てのサービスクレジット残高が使用されます。Felo Pro クレジットは消費しません。旧来の Felo APIs は /v2 下で Pro クレジットを使用します。
現在の価格を読む
curl -sS https://openapi.felo.ai/api/v1/data/pricesこの公開エンドポイントにはキーは不要です。エントリは操作 ID で照合し、現在の料金と課金単位を読み取ってください。すべての操作が同じ料金であると仮定したり、例の料金をアプリケーションに固定したりしないでください。
| 操作 ID | 課金単位 |
|---|---|
web.search, web.read, chat | リクエスト |
x.user.info, x.user.search, x.user.tweets, x.tweet.search, x.tweet.replies | 返された結果 |
ppt.generate | 生成ページ |
ppt.export | エクスポートリクエスト |
ppt.generate.status, ppt.generate.historical, ppt.export.status, ppt.delete | 新しい課金なし |
無料のステータス照会は、基礎となる生成やエクスポートを無料にするものではありません。X では、ページ分割やネストされた返却レコードによって課金対象使用量が増える場合があります。
残高と予約
実行前に、サービスは操作に十分な残高を予約する場合があります。成功した処理はその予約に対して精算され、失敗が確定すると予約は解放されます。非同期タスクでは、ID が返っただけでは課金がすでに最終確定したことを意味しません。
PPT のページ課金では、作成時に 10 ページ分が予約されます。生成が成功すると実際の出力で精算され、未使用資金が解放されます。生成とエクスポートは別課金です。繰り返しエクスポートの動作については PPT ワークフロー を参照してください。
実行または精算が不確実な場合、サービスが調整している間、予約が保留のまま残ることがあります。すべてのタイムアウトや 5xx を「作業が行われていない」または「再送が無料である」ことの証拠として扱わないでください。
利用可能残高と使用状況は Console Billing で確認してください。アカウントレベルのチャージ案内については Billing and Credits を参照してください。
API を通じてウォレット使用状況を確認する
アカウント所有者は Felo ログイントークン を使用してウォレットの呼び出し記録を確認できます。この資格情報は Data API 呼び出しに使用する API Key とは異なります。FELO_API_KEY を代用しないでください。
curl -sS 'https://openapi.felo.ai/api/wallet/usage?call_type=data' \
-H 'Authorization: Bearer YOUR_FELO_LOGIN_TOKEN'記録は data.items にあります。call_type=data で機能呼び出しを絞り込めます。使用状況はアカウントの現在価格と照合してください。記録を読むだけでは新しい生成タスクは送信されません。Console Billing はアカウントの確認とチャージに引き続き使用できます。
エラーを防御的に読む
まず HTTP ステータスを確認してください。エラーは以下のいずれかの形になる場合があります。以下の値は説明用です:
{"error":{"code":"invalid_parameter","message":"Check the request fields"},"request_id":"example-request-id"}{"status":402,"code":"INSUFFICIENT_BALANCE","message":"Insufficient balance","request_id":"example-request-id"}存在する場合は error.code / error.message を、なければ code / message を読み取ってください。返された場合は request_id を保持してください。成功レスポンスは操作ごとに異なります。すべてを同じエラーまたは data エンベロープに押し込めないでください。
次に何をするかを決める
| HTTP ステータス | よくある原因 | 次のステップ |
|---|---|---|
| 400 | パラメーターの欠落または不正 | 再試行前にリクエストを修正する |
| 401 | キーの欠落、無効化、失効、または期限切れ | キーと認証ヘッダーを確認する |
| 402 | プラットフォーム残高不足 | 利用可能残高と保留中の予約を確認し、必要ならチャージする |
| 404 | リソースが存在しない、またはこのアカウントからアクセスできない | ID と作成アカウントを確認する |
| 409 | 現在のタスク状態と操作が競合している、または実行が未確定 | エラーコードを読み取り、既存タスクを問い合わせる。すぐに重複させない |
| 410 | リソースの期限切れ、または削除済み | 保存済みファイルを使用する。必要な場合のみ新しいタスクを作成する |
| 429 | レート制限または API キーのクォータ超過 | リセット情報を確認し、速度を落とすかクォータのリセットを待つ |
| 502 / 503 / 504 | 上流、可用性、タイムアウト、または精算の失敗 | 課金対象操作を再試行する前に、作業が既に存在していないか確認する |
execution_unconfirmed(409)と billing_settlement_pending(503)には特別な注意が必要です。課金対象の作業をすぐに再送信しないでください。既知のタスクを問い合わせるか、リクエスト ID とともにサポートへ連絡してください。成功した HTTP ステータスで空の結果が返ることは、エラー応答とは異なります。
重複作業を作らずに再試行する
- 読み取り専用のタスク照会や export-status 照会では、バックオフを制限し、
Retry-Afterがある場合はそれに従ってください。 - 保存済みの
task_idを使って失敗した作成リクエストがある場合は、新しいタスクを作成する前にそのタスクを問い合わせてください。 - ID を受け取る前に接続が失敗した場合、結果は不明かもしれません。再送するとリクエストが重複排除されると仮定しないでください。
- 429 では、短いレート制限と API キーのクォータウィンドウを区別してください。繰り返し再試行してもクォータはリセットされません。
- 設定した期限を超えたら再試行を停止し、呼び出し元に実行可能なエラーを表示してください。
サポートには、エンドポイント、おおよその時刻、HTTP ステータス、リクエスト ID を提供してください。API キー全文は絶対に含めないでください。