はじめに
MCPとAIエージェント
Claude、ChatGPT、Codex、Cursor、VS CodeなどのMCPクライアントをCheaperGenに接続すると、エージェントがモデルの検索、料金の見積もり、動画・画像の生成、結果の取得を行えます。URLを貼り、サインインしてアプリを承認するだけで、APIキーのコピーは不要です。課金、レート制限、自動返金はREST APIと同じです。
AIエージェントで使う#
/api/mcpでホストされています。チャットやコーディング用のエージェントがツールを呼び出し、モデルの検索、見積もり、生成、結果の取得を行います。
CheaperGenを呼び出すコードを書く際に、エージェントへREST APIを教えるSKILL.mdです。
API、ドキュメント、全モデルの最新価格を機械可読形式でまとめています。
チャットでアシスタントにメディアを作ってもらう場合は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)#
- Customize → Connectorsを開いてカスタムコネクターを追加します。
- 名前を
CheaperGenにし、上記のURLを貼り付けて追加を選びます。 - 接続を選び、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をまとめて設定できます:
/plugin marketplace add CheaperGen/skills
/plugin install cheapergen@cheapergenChatGPT#
デスクトップアプリ(macOS、Windows)。 WorkモードまたはCodexモードでは、ChatGPTデスクトップアプリはCodex CLIと同じMCP設定を使うため、codex mcp addからも接続できます。アプリ内で追加する場合:
- Settings → MCP servers → Add serverを開きます。
- 名前を
cheapergenにし、Streamable HTTPを選んで、上記のURLを貼り付けて保存します。 - 再起動を選び、認証するをクリックしてからCheaperGenにサインインし、承認します。動作確認には入力欄に
/mcpと入力してください。
chatgpt.com。 ChatGPT Business、Enterprise、Eduのワークスペースでは、カスタムMCPサーバーをプラグインとして利用できます(Businessでは管理者またはオーナーが追加)。モバイルアプリではなくウェブから追加してください:
- Plugins → + → Add custom MCP serverを開きます。
- 名前を
CheaperGenにし、上記のURLを貼り付け、認証にはOAuthを選択してください。 - 「内容を理解したうえで続行します」にチェックを入れ、プラグインとして作成を選びます。その後、インストールしてサインインし、承認します。
- チャットで
@と入力してプラグインを選んでください。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クラウドタスクはこのファイルを読み込みません。手動で編集する場合:
[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を実行してください。
{
"mcpServers": {
"cheapergen": {
"url": "https://cheapergen.com/api/mcp"
}
}
}VS Code(GitHub Copilot)#
.vscode/mcp.jsonに追加するか、MCP: Add Server…を実行してHTTPを選択します。サーバーの初回起動時にVS Codeからサインインを求められます。その後、Copilot Chatのエージェントモードでツールを使えます。
{
"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@cheapergenskills 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 — すべて目を通しています。