3行でいうと
- 公式の開発者向け資料は、REST APIの基本のURLを
https://public-api.gamma.app/v1.0、APIキーをX-API-KEYのヘッダーで送る、と書いています。OAuthのBearerトークンも同じエンドポイントで使える、とも書かれています(Bearerの付け方の例は、そのページにありません)。 - APIキーの取り方は、公式の複数のページで書き方が違います(開発者向け資料トップの「Settings > API Keys」、「Explore the API」の「Account Settings > API Keys」、ヘルプ「Settings and Members」の「API key」タブ、ダッシュボードの説明の「Settings」→「Personal」→「My API keys」)。手元の画面と照らしてください。
- 今回読んだ開発者向け資料とヘルプは、どちらも「APIキーはFreeを含む全プランで使える」と書いています。03で書いた「ヘルプはPro以上」という記載は、今回のヘルプには見つかりませんでした。
- 作る呼び出しは非同期で、受付番号(generationId)が返り、約5秒ごとに状態を確かめる形です。Webhook(完了通知)については、今回読んだ開発者向け資料に記載が見つかりませんでした(03も参照)。
- キーの取り消し方、OAuthのトークンの取り消し方、Zapier・Make・n8nの接続の外し方は、読んだページに専用の手順が見つかりませんでした。
この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。
手順は「公式の手順を順に並べたもの」です。コマンドや設定例は「公式の例の写し」か、「公式の記載に合わせて、この記事で組んだ例(動作は確かめていません)」と書き分けます。APIキーなどの実値は書かず、<YOUR_API_KEY> のような書き方にします。画面の表記は変わるので、手元の画面と照らして読んでください。公式ページは要約の形で取得しています。
先に結論
- 自分で組むならAPI、手間を減らすなら自動化サービス。 APIは、リクエストを自分で書く代わりに、何を呼ぶかを自分で決められます。Zapier、Make、n8nは、画面でつなぐ代わりに、Gamma側のモジュールの範囲だけが使えます。
- 「Agent」のエンドポイントが、新しい作り方。 公式は、新しいプレゼン、文書、SNS投稿には
POST /v1.0/agent/generationsを、recommended(公式が使う語)と書いています。Webページと複数ページは、classicのエンドポイントPOST /v1.0/generationsだけです。 - キーを持つ人が、クレジットを使う人。 APIの使用量は、Gammaのアプリの中のAI機能と同じクレジットの残高から引かれます(Access and pricing)。開発者向け資料トップの認証の表は、APIキーの「Whose account」を「Yours」としています。キーを人と共有した場合の扱いは、今回読んだページに書かれていませんでした。
- キーは人に見せない。 キーをブラウザのコードなどに書かない、というのはこの記事の注意です。「サーバーからだけ呼ぶ」という公式の記載は、今回読んだページでは確認できていません。
前提:用語をそろえる
- REST API:URLと「GET」「POST」などの命令で、サービスを呼び出す形式です。
- エンドポイント:APIの個々の窓口(URL)です。
- APIキー:
sk-gamma-で始まる、と公式に書かれている文字列です。持っている人が、持ち主として呼び出せるため、人に渡さないで扱う文字列です。 - curl:ターミナル(黒い画面)からWebを呼ぶコマンドです。
- ポーリング:完成したかを、一定の間隔で聞き続けることです。
- OAuth 2.0:キーの代わりに、利用者の許可で、そのユーザーとして動く方式です。
- Zap/シナリオ/ワークフロー:Zapier、Make、n8nでの、処理の流れの呼び名です。
- LLM:ChatGPTやClaudeのような、文章を扱うAIです。
たとえ話:レストランの注文伝票
僕らの整理では、非同期のAPIは、注文伝票に近い仕組みです。注文(作る依頼)を出すと、料理(完成品)の代わりに伝票の番号(generationId)が返り、できあがったかどうかは、番号を持って、あとで聞きに行きます(これは僕らのたとえです)。
手順1:APIキーを取る
公式の3つの記載
| 出どころ | 書かれていること |
|---|---|
| 開発者向け資料トップ(Quickstart、Authentication) | 「Settings > API Keys」(gamma.app/settings/api-keys)を開き、キーをコピーする。sk-gamma-... の形。ヘッダーは X-API-KEY、あわせて Content-Type: application/json |
| 開発者向け資料「Explore the API」 | キーは「Account Settings > API Keys」で作る。ヘッダーは X-API-KEY |
| ヘルプ「Does Gamma have an API?」 | 「Settings and Members」を開き、「API key」のタブで「Create API key」を押し、コピーして、保管する(ヘルプは「securely」と書いています)。キーは一度しか表示されないので、失くしたら新しく作り直す |
| ダッシュボードの説明 | 「Settings」の「Personal」に「My API keys」がある |
| 開発者向け資料(Access and pricing) | ワークスペースの管理者は、APIキーのアクセスを制限したり、無効にしたりできる。作れないときは管理者に聞く |
これらは、同じ場所を別の言い方で書いている可能性があります(Zapier・Make・n8nの項には、gamma.app/settings という書き方もあります)。どれが現状かは、読んだ範囲では決められません。画面で確かめてください。
手順(公式の記載を並べたもの)
- Gammaにサインインします。
- 上の表のどれかの経路で、APIキーの画面を開きます。
- 「Create API key」を押します(ヘルプの記載。開発者向け資料は、キーをコピーする、とだけ書いています)。
- 表示されたキーを、その場でコピーして、ほかの人が見られない場所に保管します。
- 以後、このキーを
<YOUR_API_KEY>として使います。ターミナルでは、環境変数にしておくと、コマンドの中に直接書かずにすみます。
export GAMMA_API_KEY="<YOUR_API_KEY>"
これは、この記事で組んだ例です。動作は確かめていません。
通しの確認(公式の例の写し)
公式の開発者向け資料にある、テーマの一覧を取る例です。
curl https://public-api.gamma.app/v1.0/themes \
-H "X-API-KEY: $GAMMA_API_KEY"
テーマの id と name などが返る、と、そのページにあります。クレジットを使うかどうかは、このエンドポイントについては、読んだ範囲に書かれていません。
キーの取り消しと、プラン
- 取り消し:ヘルプは、キーの取り消しや削除の手順は書いていない、と読めます。開発者向け資料のQuickstartは、キーは取り消すまで使える、と書いていますが、取り消す手順は書かれていません。
- 複数のキー:ヘルプは、プロジェクトごとに複数のキーを作れる、と書いています。
- プラン:開発者向け資料とヘルプのどちらも、全プラン(Freeを含む)で使える、と書いています。03では、ヘルプが「Pro以上」と書いていた、と記録しました。今回のヘルプには、その記載が見つかりませんでした。ページが更新された可能性があります。
手順2:Agentのエンドポイントで作る
流れ(公式のQuickstart)
POST https://public-api.gamma.app/v1.0/agent/generationsに、prompt、format、numCards、任意でexportAsを送ります。返事にはgenerationIdと、pendingの状態が入ります。テンプレートを使うならtemplateIdを足し、themeIdは付けません。GET /v1.0/agent/generations/{generationId}を、約5秒ごとに呼び、completedかfailedになるまで待ちます。成功したら、gamma.gammaUrlを読みます。書き出しを頼んでいれば、exportUrlも出ます。- gammaをURLで開きます。直したいときは、
/v1.0/agent/gammas/{gammaId}/editsに、自然な文章の指示を送ります。
パラメータ(公式のAPIリファレンスの記載)
| フィールド | 内容 |
|---|---|
prompt |
必須。文字列。最大400000 |
format |
document、presentation、social。省略は presentation。webpage は断られる |
numCards |
1〜100の目安。Freeは10まで、有料は100まで。上限を超えると400 |
themeId |
標準のブランドの土台の上で、そのformatに合わせて適用。templateId とは同時に使えない |
templateId |
使えるワークスペースのテンプレート、ワークスペースのgamma、公式のテンプレートのID |
quality |
lite、standard、max。max は、含まれるプランだけ。省略は、APIの初期値で、プランに含まれる範囲まで |
sourceUrls |
URLの配列。最大10。参考にする程度で、読めないURLは飛ばされる |
additionalInstructions |
0〜5000文字。トーン、聞き手、言語、スタイルの目安 |
folderId |
GET /v1.0/folders で調べたフォルダのID。ワークスペースの管理者が制限しているときは無視される |
sharingOptions |
次の「共有の初期値」を参照 |
exportAs |
pdf、png、pptx。書き出しの失敗は、警告で、生成の失敗にはならない |
disableConnectors |
その1回の実行で、ワークスペースのコネクタ(NotionやSlackなど)を使わない |
themeId について、開発者向け資料は、Agentの生成には初期のテーマが無いので、ブランドを当てるには themeId か templateId を渡す、と書いています。
呼び出しの例(この記事で組んだ例)
公式のページに、このエンドポイントのcurlの例は無かったので、フィールド名は公式の表に合わせて、この記事で組みました。動作は確かめていません。
curl -X POST https://public-api.gamma.app/v1.0/agent/generations \
-H "X-API-KEY: $GAMMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "新入社員向けの情報セキュリティ入門。10分で話せる分量。",
"format": "presentation",
"numCards": 8
}'
状態を聞く例です(公式の記載に合わせて、この記事で組んだ例。動作は確かめていません)。
curl https://public-api.gamma.app/v1.0/agent/generations/<generationId> \
-H "X-API-KEY: $GAMMA_API_KEY"
返事の例(本文)は、公式のページに載っていませんでした。202で受け付けられ、generationId(gen_ で始まる)、status(作成時は常に pending)、warnings(空の配列か、code と message の組)が返る、と書かれています。
手順3:classicのエンドポイントで作る(Webページ、複数ページ)
POST /v1.0/generations は、Webページと複数ページを作れる唯一の方法、と公式にあります。
パラメータ(公式「Generate API parameters explained」の記載)
| フィールド | 内容 | 初期値 |
|---|---|---|
inputText |
必須(pages を使うときを除く)。最大100,000トークン(約400,000文字)。推論の重い依頼では、もっと少ないことがある |
なし |
pages |
inputText の代わりに使う配列。最大50ページ。各ページに inputText が必須。publish: true で、サイトとして公開 |
なし |
title |
1〜500文字 | 内容から推定 |
textMode |
generate、condense、preserve |
書かれていない |
format |
presentation、document、social、webpage |
presentation |
themeId |
GET /v1.0/themes かアプリで調べる |
ワークスペースの初期のテーマ |
numCards |
Freeは1〜10。Plus、Pro、Ultra、Teams、Business、Enterpriseは1〜100。cardSplit が auto のときだけ使われる |
10 |
cardSplit |
auto、inputTextBreaks |
auto |
additionalInstructions |
1〜5000文字 | なし |
folderId |
自分が属するフォルダ | なし |
exportAs |
pdf、pptx、png(1回に1つ。png は.zipで返る) |
なし |
inputTextの中の「改行、---、改行」は、カードの区切りです。cardSplitをinputTextBreaksにすると、区切りごとにカードが1枚増え、numCardsは無視されます。textOptions:amount(brief、medium、detailed、extensive)、tone、audience(1〜500文字)、language(初期値en)。imageOptions:source(aiGenerated、pictographic、pexels、giphy、webAllImages、webFreeToUse、webFreeToUseCommercially、themeAccent、placeholder、noImages。初期値aiGenerated)、model、style。公式は、webAllImagesには権利が分からない画像が含まれ、webFreeToUseは個人利用向け、webFreeToUseCommerciallyは商用向け、と書いています。cardOptions.dimensions:presentationはfluid、16x9、4x3。documentはfluid、pageless、letter、a4。socialは1x1、4x5、9x16。他の値は初期値に替えられ、返事に警告が付きます。headerFooterで、6つの位置にテキスト、画像、カード番号を置けます(Webページには使えません)。- 返事の例は、公式のページに載っていません。作ったあとは、
GET /v1.0/generations/{generationId}で、gammaUrl、exportUrl、クレジットの使用量を読みます。
呼び出しの例(この記事で組んだ例)
curl -X POST https://public-api.gamma.app/v1.0/generations \
-H "X-API-KEY: $GAMMA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputText": "会社の紹介ページ。事業、沿革、問い合わせ先。",
"format": "webpage",
"textMode": "generate"
}'
動作は確かめていません。
手順4:編集、読む、書き出す、消す
| 呼び出し | 公式の記載 |
|---|---|
POST /v1.0/agent/gammas/{gammaId}/edits |
自然な文章の指示で1ページを直す。prompt は必須で最大10,000文字。ファイルID(g_…)ならgammaのメインのページ、gamma.app/docs/<id> のURLのページIDなら、そのページ。ページは足せない。同じページには同時に1つの編集だけ(重なると409 edit_in_progress)。返るのは editId と gammaUrl(201)。状態は GET /v1.0/agent/edits/{editId} |
GET /v1.0/gammas/{gammaId} |
題名、テーマ、URLなどの情報 |
GET /v1.0/gammas/search |
題名と本文の全文検索。q が無いときは、createdBy、updatedAfter、updatedBefore のどれかが要る |
GET /v1.0/templates/search |
ワークスペースと公式のテンプレートの検索 |
GET /v1.0/gammas/{gammaId}/comments |
コメントと返信 |
POST /v1.0/gammas/{gammaId}/export |
PDF、PPTX、PNG。状態は GET /v1.0/exports/{id}。保管されたgammaは不可 |
POST /v1.0/images、GET /v1.0/images/{id} |
画像1枚の生成と状態 |
GET /v1.0/themes、GET /v1.0/folders |
themeId、folderId の調べ方 |
POST /v1.0/gammas/{gammaId}/archive |
gammaを、使っているワークスペースから外す。REST専用 |
DELETE /v1.0/gammas/{gammaId} |
gammaを消す。ワークスペースの管理者が必要。REST専用 |
分析(/analytics 系) |
編集権限が要る。Pro以上。約1時間ごとの更新 |
POST /v1.0/generations/from-template は、prompt と gammaId で、テンプレートから作ります。Agentの編集の例のcurlは、公式のページに載っていませんでした。
この節の表のうち、/agent/gammas/{gammaId}/edits と編集の状態確認の行以外(検索、書き出し、画像、archive、DELETE、from-template など)のパスとパラメータは、出典に挙げたページでは再確認できていません。公式のAPIリファレンスで確かめてください。
共有の初期値と、渡るデータ
| 項目 | 公式の記載 |
|---|---|
sharingOptions.workspaceAccess |
noAccess、view、comment、edit、fullAccess。省略はワークスペースの設定 |
sharingOptions.externalAccess |
noAccess、view、comment、edit。省略はワークスペースの設定 |
sharingOptions.emailOptions |
recipients(メールアドレスの配列)と access。fullAccess はワークスペースのメンバーだけ |
| 初期値の決まり方 | 明示した値は、「Settings > Sharing」の初期の設定より優先される |
| 書き出しのURL | 約1週間で期限が切れる。APIキーにはひもづかない。公式は、秘密として扱うよう書いている(リンクを知っていれば誰でも取れる、と03で書きました) |
| 入力の文章 | あなたのプログラムとGammaの間を流れる |
sourceUrls |
Gammaが読みに行く。読めないURLは飛ばす |
disableConnectors |
true なら、その1回、ワークスペースのコネクタを使わない |
| 呼び出す場所 | 「サーバーだけ」という公式の記載は、今回読んだページでは確認できていない。キーをブラウザのコードに書かないのは、この記事の注意 |
制限、エラー、クレジット
制限(公式「Access and pricing」の記載)
| 項目 | Free | 有料 |
|---|---|---|
1つのgammaのカード数(numCards) |
10まで | Plus以上で100まで |
| ワークスペースで同時に動くAgentの作業 | 2 | 10 |
quality: "max" |
使えない(403) | Pro以上 |
| 分析のエンドポイント | 使えない(403) | Pro以上 |
同時の上限を超えると、429と workspace_concurrency_limit_exceeded、Retry-After のヘッダーが返ります。1分あたりのリクエストの数などは、公式のページに書かれていません。
エラー
| コード | 公式の記載 |
|---|---|
| 400 | パラメータが不正、numCards がプランの上限を超えた、使えない templateId、使えない themeId、themeId と templateId の併用、保管されたgammaの編集など |
| 401 | キーが無効、または付いていない(Agentの生成と編集の資料の書き方) |
| 403 | クレジット不足、プランに含まれない quality、アクセス権が無い。ヘルプは、クレジットの残高と、自動チャージのオンを確かめる、と書く |
| 404 | gammaが見つからない |
| 409 | 同じページに編集が進行中 |
| 422 | 生成の失敗。入力のパラメータを確かめる(ヘルプの記載) |
| 429 | レートの上限、または同時の上限。ヘルプは、より多くの余力が欲しいときは、サポートに連絡、と書く |
| 503 | 混み合っている。やり直す |
クレジットと金額(2026-10-25に読んだ範囲。公式は変わりうる、と書いています)
- APIの使用量は、Gammaのアプリの中のAI機能と同じ残高から引かれます。キーの持ち主の残高です。
- 残高が尽きたときは、プランの変更、クレジットの追加購入、「Settings > Billing」での自動チャージ(auto-recharge)、と書かれています。公式は、自動チャージを「the safest way」と書いています。しきい値や額は、書かれていません。
- classicの生成は、カード1枚あたり1〜3クレジットで、画像は、標準が2〜15、上級が20〜33、プレミアムが34〜75、ウルトラが30〜125クレジットです(画像1枚あたり)。テンプレートからの生成は、カードあたり少し高いことがある、とあります。
- Agentの生成と編集は、カードや画像の数ではなく、エージェントが行った作業で決まり、同じ依頼でも回によって変わる、とあります。1回の作業を始めるには、1クレジット以上が要ります。
- 返事の
credits.deductedとcredits.remainingで使用量を読めますが、省略されることがあり、請求の記録ではない、と書かれています。 - 各プランに含まれるクレジットの数は、開発者向け資料には書かれていません。料金ページか「Settings > Billing」で確かめる、とあります。
手順5:OAuthで、利用者に代わって呼ぶ
自分のアプリが、利用者の許可を得て、その利用者として動くときの方式です。公式「Authenticate with OAuth」の記載を順に並べます。
- 登録(一度):
POST https://auth.gamma.app/oauth/registerに、client_name、redirect_uris、grant_types、response_types、token_endpoint_auth_methodを送ります。公開クライアントはnone、秘密を持つものはclient_secret_basicかclient_secret_postです。 - 許可:利用者を
https://auth.gamma.app/oauth/authorizeに送ります。client_id、redirect_uri、response_type=code、resource=https://public-api.gamma.app、scope、state、code_challenge、code_challenge_method=S256を付けます。利用者がサインインし、ワークスペースを選び、同意します。戻ってきたら、stateが一致するか確かめます。 - コードの交換:
POST https://auth.gamma.app/oauth/tokenに、grant_type=authorization_code、code、redirect_uri、client_id、code_verifierを送ります。access_token、token_type(Bearer)、expires_in(3600)、scope、refresh_tokenが返ります。 - 呼ぶ:
Authorization: Bearer <access_token>を付けて、https://public-api.gamma.app/v1.0/...を呼びます。 - 更新:
grant_type=refresh_tokenで、同じトークンのエンドポイントを呼びます。更新のたびに新しい更新用トークンが返り、古いものは無効になります。
スコープとトークンの寿命
generate:APIの全体。スコープを指定しなかったときの初期値です。gamma:read:読み取りだけ(題名、サムネイル、作者、日時)。クレジットを使わず、作る系のエンドポイントは403(insufficient_scope)になります。- アクセストークンは約1時間。更新用トークンは使うたびに入れ替わり、最大90日。90日更新しないと、利用者が許可をやり直します。
- 取り消し:トークンの取り消し方は、そのページに書かれていません。
手順6:Zapier・Make・n8nでつなぐ
公式の開発者向け資料「Connect integrations」の記載を並べます。3つとも、APIキーが要り、全プランで使える、と書かれています。ヘルプ「How do I use Gamma with outbound connectors and integrations?」は、利用にはクレジットを使う、と書いています。
Zapier
- Zapの中で、アプリの一覧から「Gamma」を探します。
- 「Generate a Gamma」などのアクションを選びます(アクションの正確な名前は公式で確認できていません。手元の画面と照らしてください)。
- APIキーで認証します。キーは gamma.app/settings で作る、と書かれています(手順1の別の経路と、書き方が違います)。
- トリガーのデータを、生成のパラメータに結びつけます。
Make
- シナリオにモジュールを足し、「Gamma」を探します。
- 「Create a Generation」などのアクションを選びます(アクションの正確な名前は公式で確認できていません。手元の画面と照らしてください)。
- APIキーでアカウントをつなぎます。
- モジュールのパラメータを設定します。
n8n
- n8nのエディタで「+」を押し、「Gamma」を探します。
- 操作を選びます。例は、「Generation」の「Create」です。
- APIキーで、「Gamma credential」を作ります。
- 入力の文章、テキストのモード、形式、テーマなどを設定します。
- 結果を確かめるには、2つ目のGammaノードで「Get Status」を選び、1つ目のノードの生成IDを渡します。
- 操作は、Generationの「Create」「Create from Template」「Get Status」、Themeの「List」、Folderの「List」と書かれています。ヘルプは、n8nは作ると編集ができ、「Edit」と「Get Edit Status」の操作がある、と書いています。この2つが、開発者向け資料の操作の一覧に出てこない点は、書き方の違いです。
3つの違い
| サービス | 公式の記載 |
|---|---|
| Zapier、Make | 作るだけ。変えたいときは、Gammaのアプリでgammaを開く(ヘルプ) |
| n8n | 作ると編集(ヘルプ) |
| 共通 | APIキーで、Gamma側のAPI。各サービスの画面と課金は、各サービスのもの |
ZapierとMakeのモジュールを誰が作って運営しているかは、今回読んだページには書かれていませんでした。n8nについては、開発者向け資料「Connect integrations」が「official Gamma node」と書いています(ヘルプ「How do I use Gamma with outbound connectors and integrations?」には、officialの語は出てきません)。運営元についての、それ以上の記載は見つかりませんでした。接続の外し方も、読んだページに書かれていません。各サービスの接続の画面で、取り消すか、Gamma側でキーを作り直すかの選択になります(後者は僕らの整理で、公式の手順ではありません)。
手順7:LLMとデータ源を組み合わせて、Gammaで数字入りの資料を作る
公式ヘルプ「How can I get my data into Gamma decks using an LLM?」は、AI同士を組み合わせる流れを書いています。構成は、①データを持つツール(ソース)、②LLMへの指示、③Gamma、の3層です。ソースの例として、Snowflake、BigQuery、Google Drive・スプレッドシート、Salesforce、HubSpot、Notion、Jiraが挙がっています。
用意するもの(公式の記載)
- 使うソースのツールと、その中の表、ビュー、レポート、シート、文書(必要な列や節も)。
- テンプレートのID(
Gamma:get_gammasにtype: templateを付けて探す)か、テーマID。 - スライドの一覧と、文体のトーン。
- LLMへの指示の置き場所。最初は、プロジェクトの指示から始め、種類が増えたり、再利用する計算の手順がほしくなったら、スキルに移す。スキルは「Settings → Capabilities」に入れる、と書かれています。
実行の流れ(ヘルプのテンプレートの要約)
- ソースを読む(クエリを走らせる、CSVを書き出す、文書を取る)。
- スクリプトで、合計、内訳、上位N件、期間を計算する。
- スライド1枚につき1つのブロックにして、数字と単位を書いたプロンプトを作る。
- テンプレートから生成し、
Gamma:read_gammaで抜き取りの確認をする。
公式が書く、LLMが守る決まり
- 依頼のたびにソースを新しく読む(Read the source fresh)。
- 計算はスクリプトでする。Gammaには計算をさせず、出来上がった数字だけを渡す。
- すべての数字を、単位をつけて書き直し、チャートの種類を示す。
- 繰り返し作る、ブランドの決まった資料は
Gamma:generate_from_templateを、1回きりの資料はGamma:generate(テーマID)を使う。正確な数字を固定するときはtextMode: preserve。 - 表は、行を
|で区切って書き、「行の順を正確に守る。手を加えない。足さない。集計しない」と頼む。表が約15行を超えたら、行ごとのプロンプトをやめ、事前の計算に切り替える。
食い違い
このヘルプは、編集のツールは無い、直すには作り直すか、Gammaのウェブのエディタで直す、と書いています。一方、MCPのツールの一覧には edit_gamma があり、「アカウントで編集が有効なときだけ一覧に出る」と書かれています(07)。どちらが現状かは、読んだ範囲では決められません。
渡るデータ
ソースの内容(数字を含む)が、LLM側に読まれ、そこで計算された数字が、Gammaに渡ります。社内のデータを使うときは、LLMと、Gammaのそれぞれの規約と、ワークスペースの設定を、先に確かめてください。この記事では、LLM側の扱いは読んでいません。
つまずきの確認表
| 症状 | 確認すること |
|---|---|
| 401 | キーの文字列、ヘッダーの名前(APIキーは X-API-KEY。OAuthのトークンのときは Authorization: Bearer)を確かめる |
| 403 | クレジットの残高、自動チャージ、quality がプランに含まれるか、gammaの編集権限 |
| 429 | 同時に動く作業が上限(FreeはAgentで2、有料は10)を超えていないか。Retry-After を待つ |
| 400 | numCards がプランの上限(Freeは10)を超えていないか、themeId と templateId を併用していないか、format に webpage を指定していないか(Agentでは不可) |
| 409 | 同じページへの編集が終わるのを待つ |
| 完了しない | 約5秒ごとのポーリングを続ける。作成の呼び出しを繰り返して確かめない |
| 書き出しのURLが開かない | 約1週間で期限が切れる。もう一度書き出す |
| 作れないキー | ワークスペースの管理者が、APIキーを制限している可能性 |
気をつけること
- この記事は、実際に使って確かめた記録ではありません。公式の資料を、要約で読んだ範囲です。curlの例は、公式の例の写しと、この記事で組んだ例を、そのつど書き分けています。
- 公式の資料のあいだで、APIキーの取り方、n8nの操作、LLMの資料の「編集のツールは無い」という記載に、書き方の違いがあります。03で記録した「APIはPro以上」は、今回のヘルプでは見つかりませんでした。
- キーの取り消し、OAuthのトークンの取り消し、Zapier・Make・n8nの接続の外し方は、読んだページに手順がありません。
- 公式のヘルプ「How can I get my data into Gamma decks using an LLM?」には、このページ全体をLLMに貼って、使い方を相談するよう勧める一文があります。この記事は、それに従っていません。
- ヘルプ「Does Gamma have an API?」の中に、公式の編集者向けのメモのような文(検索のFAQについて)が見えました。ページが最終版ではない可能性があります。
- 金額やクレジットの数は、公式が変わりうると書いています。使う前に、公式の画面で確かめてください。
- APIキーは、持っている人が、持ち主として呼び出せます。ソースコードやブラウザのコードに、実値を書かないでください。
- 規約やデータの扱いの解釈は、必要なら公式に確認してください。この記事は法律の助言ではありません。
出典
- Gamma Developer Docs(Gamma、確認日 2026-10-25)
- Explore the API(Gamma Developer Docs、確認日 2026-10-25)
- Access and pricing(Gamma Developer Docs、確認日 2026-10-25)
- Authenticate with OAuth(Gamma Developer Docs、確認日 2026-10-25)
- POST /v1.0/agent/generations(Gamma Developer Docs、確認日 2026-10-25)
- Edit a gamma(Gamma Developer Docs、確認日 2026-10-25)
- Generate API parameters explained(Gamma Developer Docs、確認日 2026-10-25)
- Connect integrations(Gamma Developer Docs、確認日 2026-10-25)
- Does Gamma have an API?(Gamma Help Center、確認日 2026-10-25)
- How do I use Gamma with outbound connectors and integrations?(Gamma Help Center、確認日 2026-10-25)
- How can I get my data into Gamma decks using an LLM?(Gamma Help Center、確認日 2026-10-25)
- Introduction to the Gamma Dashboard(Gamma Help Center、確認日 2026-10-25)