CheaperGen

はじめに

MCPとAIエージェント

Claude、ChatGPT、Codex、Cursor、VS CodeなどのMCPクライアントをCheaperGenに接続すると、エージェントがモデルの検索、料金の見積もり、動画・画像の生成、結果の取得を行えます。URLを貼り、サインインしてアプリを承認するだけで、APIキーのコピーは不要です。課金、レート制限、自動返金はREST APIと同じです。

AIエージェントで使う#

チャットでアシスタントにメディアを作ってもらう場合はMCPサーバーを使います(Claude CodeやCursorのチャットなど)。APIを呼び出すコードを書く場合はAgent Skillを使います。併用も可能です。接続中はMCPツールを優先するようSkillからエージェントに伝えます。

サーバーURLとサインイン#

https://cheapergen.com/api/mcp
  • 通信方式: ステートレスなStreamable HTTPを採用しています。2025年と2026-07-28のMCPプロトコルに対応するクライアントで利用できます。
  • サインイン: MCP認可仕様に準拠したOAuth 2.1です。クライアントの初回接続時にブラウザーでCheaperGenページが開きます。サインインしてアプリを承認してください。承認済みアプリはダッシュボード → APIキー → 接続中のアプリに表示され、いつでも接続を解除できます。
  • ヘッドレス環境とCI:ブラウザーからサインインできない場合は、代わりにAuthorization: Bearer cg_live_…としてAPIキーを送信してください。詳しくはAPIキーを使うをご覧ください。

接続中のアプリは実際のクレジットを消費します

generateは前払い残高から課金します。自分で接続を開始したアプリだけを承認し、高額なジョブの前にエージェントへ料金の確認を求めてください。generateには緊急時の料金にも上限を適用するmax_cost_usd予算ガードがあります。

クライアントの接続方法#

Claude(claude.ai、Claude Desktop)#

  1. Customize → Connectorsを開いてカスタムコネクターを追加します。
  2. 名前をCheaperGenにし、上記のURLを貼り付けて追加を選びます。
  3. 接続を選び、CheaperGenにサインインしてアプリを承認します。チャットのツールメニューからコネクターを有効にしてください。

TeamおよびEnterpriseプランでは、先にオーナーが組織用コネクターを追加する必要がある場合があります。claude.aiで追加したコネクターはClaude Desktopにも表示されます。

Claude Code#

claude mcp add --transport http cheapergen https://cheapergen.com/api/mcp

/mcpを実行し、cheapergenを選択して認証するを選びます(またはターミナルでclaude mcp login cheapergenを実行)。ブラウザーでサインインして承認してください。すべてのプロジェクトで使うには--scope userを追加します。プラグインをインストールすると、サーバーとAgent Skillをまとめて設定できます:

Claude Codeプラグイン
/plugin marketplace add CheaperGen/skills
/plugin install cheapergen@cheapergen

ChatGPT#

デスクトップアプリ(macOS、Windows)。 WorkモードまたはCodexモードでは、ChatGPTデスクトップアプリはCodex CLIと同じMCP設定を使うため、codex mcp addからも接続できます。アプリ内で追加する場合:

  1. Settings → MCP servers → Add serverを開きます。
  2. 名前をcheapergenにし、Streamable HTTPを選んで、上記のURLを貼り付けて保存します。
  3. 再起動を選び、認証するをクリックしてからCheaperGenにサインインし、承認します。動作確認には入力欄に/mcpと入力してください。

chatgpt.com。 ChatGPT Business、Enterprise、Eduのワークスペースでは、カスタムMCPサーバーをプラグインとして利用できます(Businessでは管理者またはオーナーが追加)。モバイルアプリではなくウェブから追加してください:

  1. Plugins → + → Add custom MCP serverを開きます。
  2. 名前をCheaperGenにし、上記のURLを貼り付け、認証にはOAuthを選択してください。
  3. 「内容を理解したうえで続行します」にチェックを入れ、プラグインとして作成を選びます。その後、インストールしてサインインし、承認します。
  4. チャットで@と入力してプラグインを選んでください。ChatGPTはgenerateまたはadd_creditsを実行する前に確認します。

chatgpt.comのプランによる制限

chatgpt.comのProアカウントは読み取り専用ツールでカスタムMCPサーバーに接続できます。モデルの検索や見積もりはできますが、生成はできません。ほかの個人向けプランではウェブから追加できません。デスクトップアプリはWorkまたはCodexモードでどのプランでも利用できます。Deep ResearchとCompany Knowledgeはsearch、fetchツールに対応するサーバーだけを使いますが、CheaperGenにはその機能がありません。通常のチャットでは利用できます。

Codex#

codex mcp add cheapergen --url https://cheapergen.com/api/mcp

サーバーを~/.codex/config.tomlに追加すると、ブラウザーが開いてすぐにサインインできます。スキップした場合はcodex mcp login cheapergenを実行してください。Codex CLI、Codex IDE拡張機能(歯車メニュー → MCPサーバー)、ChatGPTデスクトップアプリはすべてこのファイルを読み込むため、1回の設定で利用できます。Codexクラウドタスクはこのファイルを読み込みません。手動で編集する場合:

~/.codex/config.toml
[mcp_servers.cheapergen]
url = "https://cheapergen.com/api/mcp"

Cursor#

~/.cursor/mcp.json(すべてのプロジェクト)または.cursor/mcp.json(1つのプロジェクト)に追加してください。次にCustomize → MCPsを開いてcheapergenに接続します。Cursor CLIではcursor-agent mcp enable cheapergenを実行し、続けてcursor-agent mcp login cheapergenを実行してください。

~/.cursor/mcp.json
{
  "mcpServers": {
    "cheapergen": {
      "url": "https://cheapergen.com/api/mcp"
    }
  }
}

VS Code(GitHub Copilot)#

.vscode/mcp.jsonに追加するか、MCP: Add Server…を実行してHTTPを選択します。サーバーの初回起動時にVS Codeからサインインを求められます。その後、Copilot Chatのエージェントモードでツールを使えます。

.vscode/mcp.json
{
  "servers": {
    "cheapergen": {
      "type": "http",
      "url": "https://cheapergen.com/api/mcp"
    }
  }
}

その他のクライアント#

リモートサーバーとOAuthに対応するクライアントにはURLだけを指定します("serverUrl"ではなく"url"を使う場合もあります)。ローカル(stdio)サーバーだけを実行するクライアントはmcp-remoteブリッジを利用できます。Node.jsが必要で、サインインも処理します。

{
  "mcpServers": {
    "cheapergen": {
      "type": "http",
      "url": "https://cheapergen.com/api/mcp"
    }
  }
}

APIキーを使う(ヘッドレス環境、CI)#

ブラウザーからサインインできない環境では、ダッシュボード → APIキーからAPIキーを送信してください。エージェントごとに別のキーを作成し、個別に失効できるようにします。次のように環境変数に保存します。シングルクォートで囲むのはキーではなく変数名です。クライアントは接続時に値を読み込みます。Claude Codeでは${CHEAPERGEN_API_KEY}をコミット済みの.mcp.jsonから各開発者の環境に展開することもできます。

claude mcp add --transport http cheapergen https://cheapergen.com/api/mcp \
  --header 'Authorization: Bearer ${CHEAPERGEN_API_KEY}'

ツール#

すべてのツールはREST APIと同じコード(APIリファレンス)を使うため、料金、検証、エラーは一致します。結果は簡潔なJSONで返されます。完成した画像は小さなインラインプレビューでも返されるため、チャットに表示され、エージェントも仕上がりを確認できます。各出力ファイルはリソースリンクで返され、表示・ダウンロードできます。

ツール
list_modelscategory?, vendor?
エンドポイントID、開始価格、公式価格、割引率を掲載しています(list_price_source:official、または referenceはlist_price_label。例: fal APIが指定)。video / image またはベンダー。で絞り込めます。
get_modelmodel
モデルIDまたはエンドポイントIDを指定します。各エンドポイントのJSON入力スキーマ(列挙値、デフォルト値、参照メディアの上限、@Image1指定)、プラン別料金表、仕様を返します。
quoteendpoint, input?
入力を実行せずに料金を確認: amount_usd, official_usd ( list_price_source / list_price_label), discount_pct — 個別料金。適用される場合は custom_price と volume_level は ProまたはMaxプラン または契約料金が設定されています。無料です。参照動画には reference_video_durations. 残高で支払えるかどうかも示し、足りない場合は提案すべきチャージ額を返します。
generateendpoint, input, wait_seconds?, max_cost_usd?, allow_fallback_price?
有料。生成を送信し、料金分を確保して、IDと料金を返します。最大wait_seconds(上限50)待機し、その時間内に完了した場合は出力を返します。料金がmax_cost_usdを超える場合は請求せずに拒否します。allow_fallback_price(デフォルトはtrue)は、通常の処理枠を利用できない場合に、送信時または処理枠エラー後に緊急時の料金を適用します(公式価格以下、かつmax_cost_usdの範囲内)。falseを指定すると、見積もり価格を超える料金は発生しません。 完成した画像は小さなインラインプレビューでも返されます。
get_generationid, wait_seconds?
ステータス(queued、running、succeeded、failed、canceled)、出力URL、エラー、最終料金を返します。最大50秒間、結果を待ちます。 完成した画像は小さなインラインプレビューでも返されます。
upload_filefilename, size_bytes? または data_base64?
無料。パソコン上の写真、動画、音声ファイルを、入力に使えるhttps URLに変換します。コマンドを実行できるエージェントには、ファイルの正確なサイズ専用で短時間だけ有効なアップロードURLと、ファイル送信用のcurlコマンドが返されます。それ以外のエージェントは、小さなファイル(約3 MBまで)をbase64で送信できます。対応形式と上限はPOST /uploadsと同じです。
get_accountnone
チャージ済み残高、画像専用クレジット(画像モデルのみ、動画には使用不可)、処理中の生成のために確保されている金額、実行中の生成数、自動チャージの設定。 アカウントの API の上限(limits)も返します。
add_creditsamount_usd?
Stripeのチェックアウトリンク(カード、ウォレット、Alipay、WeChat Pay)を作成し、ユーザーに表示して支払いを依頼します。ブラウザーで支払うまで請求は発生せず、数秒でクレジットが届きます。エージェントはgenerateがinsufficient_balanceを返す場合に呼び出します。

画像は通常、generate回の呼び出しで完了します。動画には数分かかるため、エージェントはジョブを送信後、完了するまでget_generationをwait_secondsとともに呼び出します。完了したgenerateが返す内容:

生成 → 結果
{
  "id": "gen_8c2QmX1nq0k4Lw7Z",
  "status": "succeeded",
  "endpoint": "bytedance/seedream-5.0-lite/text-to-image",
  "outputs": [
    "https://cdn.cheapergen.com/outputs/gen_8c2QmX1nq0k4Lw7Z.png"
  ],
  "cost": {
    "amount_usd": 0.0303,
    "official_usd": 0.035,
    "list_price_source": "official",
    "list_price_label": "公式",
    "saved_usd": 0.0047,
    "final": true
  },
  "created_at": "2026-10-16T09:12:43.545Z",
  "completed_at": "2026-10-16T09:12:49.058Z",
  "outputs_expire_at": "2026-10-17T09:12:49.058Z",
  "next": "完了しました。outputs_expire_atより前に、出力URLを表示するかダウンロードしてください。"
}

プロンプトの例#

  • “参照動画を使えるCheaperGenの動画モデルと、それぞれで720p・5秒の動画を作る料金を教えて。”
  • “Seedance 2.0 Fastで、雨に濡れたネオン街を流れる紙のボートを、ゆっくり寄りながら5秒・720pの動画にして。最初に料金を教えて。”
  • “このマグカップの商品写真を4枚作って。Seedream 5.0 Liteを使い、1枚あたり$0.05未満にして:https://example.com/mug.png”
  • “この写真を6秒の縦型動画にして:https://example.com/portrait.jpg”
  • “デスクトップの写真(~/Desktop/beach.jpg)をKling 3.0で5秒の動画にして。先に料金を教えて。”
  • “Seedance 2.0で画像から動画を生成:@Image1がキャラクター、@Image2が街。@Video1のようにカメラを動かして。URLはこちら:…”
  • “CheaperGenの残高はいくら?Seedance 2.0で1080p・10秒の動画を何本作れる?”

Agent Skill#

CheaperGenスキルはAgent Skills形式の単一ファイルSKILL.mdです。モデル選択、スキーマ確認、見積もり、送信、ポーリングやWebhook検証、参照指定、アップロード、料金、エラーまで一連の手順をエージェントに教えます。必要なタスクでのみ読み込まれます。REST APIではキーをCHEAPERGEN_API_KEYから読み込み、MCP接続中はMCPツールを優先します。ソース:github.com/CheaperGen/skills

/plugin marketplace add CheaperGen/skills
/plugin install cheapergen@cheapergen

skills CLIではClaude Code、Cursor、Codex、Gemini CLIなどにインストールできます(-aは現在のプロジェクト、-gはすべてのプロジェクト)。ClaudeアプリではcheapergenフォルダーをZIPにして、カスタムスキルとしてアップロードしてください。

利用制限と課金#

  • REST APIと同じレート制限が、接続中のアプリまたはキーごとに適用されます(MCPリクエストもすべて対象)。同時実行中の生成数にもアカウントごとの上限があります。
  • generateが送信時に料金を確保し、生成の失敗またはキャンセル時に全額返金します。詳しくはお支払いとクレジットをご覧ください。
  • MCP経由の生成は、ダッシュボードとGET /api/v1/generationsのsource: "mcp"にも表示されます。
  • サインイントークンの有効期間は1時間です。クライアントが自動的に更新します。ダッシュボードでアプリを切断すると、アクセスは直ちに終了します。
  • 出力URLは公開され、APIの保存期間設定(デフォルトで1日)に従って期限切れになります。保存したいものはダウンロードしてください。

トラブルシューティング#

  • クライアントにサーバーの認証が必要だと表示される: 開始済みのサインインを完了してください(Claude Codeでは/mcp → cheapergen →「認証する」)。アプリを切断した場合、または90日間使用していない場合は、再度サインインしてください。
  • サインインページで、アプリが登録されていない、またはリダイレクトURLが一致しないと表示される:クライアントからサーバーを削除し、再度追加してください。クライアントがサーバーを再登録します。
  • ツール呼び出しがタイムアウトする: wait_secondsの値を小さくしてください。生成処理はそのまま続きます。後からget_generationで取得できます。
  • invalid_request:入力がエンドポイントのスキーマと一致しません。エラー内のparamに該当項目が示されます。エージェントにget_modelを先に呼び出すよう依頼してください。

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