CheaperGen

はじめに

認証

Bearer APIキーによるCheaperGen APIリクエストの認証方法。キーの形式、保存、ローテーション、失効、認証不要のエンドポイントを解説します。

CheaperGen APIは秘密のAPIキーを使用します。認証が必要なすべてのエンドポイントに、Bearerトークンとして次のヘッダーを付けてください:Authorization

Authorization: Bearer cg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

APIキーを作成#

ダッシュボード → APIキーを開き、キーを作成をクリックします。用途が分かる名前を付けてください(例:production-backend)。キーの形式はcg_live_の後にランダムな32文字が続きます。

キー全体が表示されるのは一度だけです。SHA-256ハッシュのみを保管するため再表示できません。紛失した場合は失効させ、新しいキーを作成してください。ダッシュボードには接頭辞、作成日、最終使用時刻が表示されます。

認証付きリクエストを送信#

const resp = await fetch("https://cheapergen.com/api/v1/account", {
  headers: { Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}` },
});
console.log(await resp.json());

公開エンドポイント#

カタログと料金のエンドポイントはAPIキー不要のため、ブラウザーやビルド手順から呼び出せます:GET /api/v1/models、GET /api/v1/models/{vendor}/{model}、POST /api/v1/quote/{endpoint}。生成の送信・取得・キャンセル、アップロード、アカウント情報など、ほかの操作にはキーが必要です。全エンドポイントはAPIリファレンスをご覧ください。

APIキーを安全に管理#

  • サーバーサイドでのみ使用。モバイルアプリ、ブラウザーバンドル、公開リポジトリにキーを含めないでください。キーを持つ人は誰でも残高を利用できます。
  • 環境変数を使うかシークレット管理ツールを使い、ソースコードには直接記載しないでください。このドキュメントの例ではCHEAPERGEN_API_KEYから読み込みます。
  • 環境やサービスごとにAPIキーを分けるなら、ほかに影響を与えず個別のキーを失効できます。
  • キーをローテーションするには、新しいキーを作成してデプロイし、その後、古いキーを失効させてください。失効は直ちに反映されます。

キーが漏えいしましたか?

ダッシュボード → APIキーで直ちにキーを失効させてください。その後、生成に見覚えのない利用履歴がないか確認してください。自動チャージを無効にすると、漏えいしたキーで利用できる金額を現在の残高までに制限できます。

クライアント側アプリを開発していますか?#

自社のバックエンド経由でリクエストを中継してください。サーバーでキーを保持し、ユーザーを認証してから生成リクエストを転送します。ジョブの完了を検知して結果を届けるにはWebhookを使います。

認証エラー#

キーがない、形式が不正、または失効している場合は401 unauthorizedを返します:

401 Unauthorized
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or revoked API key"
  }
}

当社サイト内からのリクエスト(Studio、モデルページのプレイグラウンド)は、キーの代わりにログイン中のセッションで認証します。ダッシュボードではソースとしてplaygroundが表示されます。

不明な点や不足している情報がありますか?support@cheapergen.com — すべて目を通しています。