GPT Image 2:最初のImage APIリクエスト
BetterToken経由で最初のGPT Image 2リクエストを送り、b64_json画像を保存し、Key・モデル・残高のエラーを解決します。
BetterTokenで最初の画像を生成するのに必要なのは、HTTPリクエスト1回だけです。 自分のAPI Keyと、https://www.bettertoken.ai/v1/images/generationsへのPOSTリクエストを用意します。リクエスト本文でモデルをgpt-image-2に指定し、テキストによる説明を渡してください。応答には画像がb64_jsonで返るため、これをデコードしてファイルに保存します。
BetterTokenはOpenAI互換のImage APIを提供しますが、独立したサービスです。Key、残高、リクエスト履歴はOpenAIではなくBetterTokenアカウントに属します。開始前にBetterToken DashboardでKeyを作成し、モデルと料金のページで現在の条件を確認してください。
必要なもの
- リクエストを送るための
curl; - 自分のBetterToken API Key;
- 正確なBase URL
https://www.bettertoken.ai/v1; - このImage API用の
gpt-image-2モデル; - Base64デコーダー、または短いPythonスクリプト。
実際のKeyをソースコード、スクリーンショット、あるいはShell履歴に残るコマンドへ書き込まないでください。環境変数に保存します。
上記の値はプレースホルダーです。自分のKeyを使い、公開しないでください。
最初のGPT Image 2リクエスト
画像生成Endpointへリクエストを送ります。
リクエストが成功すると、image-response.jsonにはdataオブジェクトが入ります。画像はdata[0].b64_jsonにあります。この応答形式はサーバーサイドのフローに適しています。payloadをオブジェクトストレージへ保存したり、次の処理に渡したり、直接ローカルファイルへデコードしたりできます。
画像を保存する
次の例はJSONを読み、Base64値をデコードしてbettertoken-image.pngを作成します。Python標準ライブラリだけを使います。
ファイルを開き、promptに合っているか確認してください。HTTP 200はリクエストが成功したことを示しますが、結果の目視確認に代わるものではありません。
2回目のリクエストを改善する
最初のテストでは、次の4要素を持つ短いpromptを使います。
- 被写体またはシーン;
- ビジュアルスタイル;
- 構図;
- 配色または照明。
例:
相反する要件を長く列挙するところから始めないでください。まず基本の構図を確認し、その後は1回に1つのパラメーターだけを変更します。どの表現が結果に影響したかを判断しやすくなります。
よくあるエラー
401:Keyが拒否される
BETTERTOKEN_API_KEYが現在の端末で設定され、AuthorizationヘッダーにBearerプレフィックスが含まれていることを確認します。echoでKeyを表示したり、完全な値をサポートに送ったりしないでください。
402 または残高不足
BetterToken Dashboardを開き、利用可能な残高を確認します。支払い済みのBetterToken残高は月末に自動でリセットされませんが、各リクエストには十分な残高が必要です。
404:パスが正しくない
画像生成では次の完全なパスを使います。
Chat Completions Endpointに置き換えたり、api.openai.comを使ったりしないでください。BetterToken KeyはBetterToken Endpointで使用します。
400:モデルまたはパラメーターが正しくない
まず必須フィールドのmodelとpromptだけで試します。このガイドではgpt-image-2を使います。APIがモデルを利用できないと返す場合は、現在のModel IDとパラメーターをImage APIドキュメントと照合してください。
429 または 5xx
無限のリトライループを始めないでください。HTTP status、リクエスト時刻、応答の安全な一部を記録してから、待機後に再試行します。BetterToken Dashboardでは、時刻でリクエストを照合し、完全なpromptを表示せずにモデル、status、input/output/cache token使用量、請求を確認できます。
アプリケーションへ組み込む前の確認
リクエストをバックエンドや自動化フローへ移す前に、次を確認してください。
- Keyが環境変数またはsecrets managerに保存されている;
- リクエスト先が他社のEndpointではなくBetterTokenである;
- モデルとパラメーターが現在のドキュメントに基づく;
- Base64 payloadがエラーなくデコードできる;
- アプリケーションがリトライを制限し、non-2xx応答を処理する;
- コストを古いレビューではなく現在の価格ページで確認している。
同じ契約をアプリケーションのSDKまたはHTTP clientへ移せます。最小リクエストから始め、結果を1つ保存してから、dimensions、quality settings、バッチ処理、自身のストレージ層を追加してください。
要点
最初に動くフローは3ステップです。BetterToken Image APIへPOSTリクエストを送り、data[0].b64_jsonを読み、ファイルにデコードします。自分のKeyと従量課金が必要なら、BetterTokenアカウントを作成し、リクエスト実行前に現在のパラメーターと料金を確認してください。