3行でいうと
- Firefly Services(API)は、Adobe Developer ConsoleでOAuth Server-to-Serverの認証情報を作り、アクセストークン(有効期間は24時間)を取って呼びます。公式のページには、バージョンの違うエンドポイントと、認証ヘッダーの書き方の違いが並んでいます。
- 公式の「Getting Started」は、まずAdobeの担当者と話すように書いています。企業向けの契約と管理者の手続きが前提です(03参照)。
- Firefly AI Assistantは、Fireflyの中のエージェントです。Adobeのブログは、Claudeなどの第三者のAIへ広げる取り組みに触れています。
- Fireflyの画面からは、「Open in Photoshop web」「Open in Adobe Express」「Open in Premiere desktop」などで、ほかのAdobeアプリへ渡せます。Photoshop、Express、Premiere側のヘルプは、今回は読んでいません。
- どのつなぎ口も、外し方(認証情報の削除、トークンの無効化)の手順は、読んだページには見つかりませんでした。
この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。運営者は Adobe Firefly を入れていますが、使い心地はこの記事には書いていません。手順は「公式の手順を順に並べたもの」です。設定例は「公式の記載に合わせて、この記事で組んだ例(動作は確かめていません)」と、そのつど書きます。公式のページは、要約の形で取得したため、コマンドの改行や記号が崩れて見えた箇所があります。そのような箇所は、公式の写しとは書かず、要点だけを書いて「全文は公式ページで確認」としています。画面の表記は変わるので、手元の画面と照らして読んでください。
先に結論
- プログラムから呼ぶ道は、公式のFirefly Services(API)。 ただし、認証情報の作り方の細かい手順(Developer Consoleの画面)は、読んだページには書かれていませんでした。
- 認証のヘッダーの書き方は、公式のページ同士で違う。 クイックスタートは、
AuthorizationにBearerの語を付けない形、カスタムモデルの手順は付ける形でした。公式の「Authentication」のページは、今回は読んでいません。 - Fireflyの画面からの受け渡しは、メニューの項目として並んでいる。 渡る先と項目名は、公式のヘルプの記載を表にします。
- 外し方は、見つからなかった。
前提:用語をそろえる
- API:プログラムから機能を呼ぶための窓口です。
- アクセストークン:Adobeの認証の仕組みが発行する、一時的な通行証です。
- APIキー/クライアントID:呼ぶ側のアプリを区別する値です。Firefly Servicesでは、公式のページに、APIキー(クライアントID)と書かれています。
- OAuth Server-to-Server:人ではなく、サーバー同士で認証する方式です。
- ヘッダー:Webの通信の付け札です。
- 非同期:依頼を出して、結果はあとで受け取る形です。
- カスタムモデル:自分の画像で訓練したモデルです(02参照)。
1. Firefly Services(API) × 自分のプログラム
組み合わせ: 自分のプログラム(またはほかのAIが書いたコード)から、Fireflyの画像生成を呼ぶ。
公式の資料は、企業向けの契約と管理者の手続きを前提にしています(03参照)。公式の「Getting Started」は、まずAdobeの担当者と話すように書いています。
前提(公式の記載)
- Adobe Developer Consoleのアカウント。
- Firefly APIのOAuth Server-to-Server認証情報を持つプロジェクトを作る。
- そのプロジェクトから、クライアントIDとクライアントシークレットを得る。
- 認証情報は、公式の表記で「securely」に保管し、クライアント側のコードや公開されるコードに出さない(公式の注意)。
手順1:認証情報を環境変数に入れる
公式は、ターミナルで、次のように入れる、と書いています(ページの注記は「secure terminal」)(変数名は、公式のページの表記)。
export FIREFLY_SERVICES_CLIENT_ID=<your_Client_ID>
export FIREFLY_SERVICES_CLIENT_SECRET=<your_Client_Secret>
手順2:アクセストークンを取る
公式のページの、取得先と中身の要点です。
| 項目 | 公式の記載 |
|---|---|
| 取得先 | https://ims-na1.adobelogin.com/ims/token/v3(POST) |
| ヘッダー | Content-Type: application/x-www-form-urlencoded |
| パラメーター | grant_type=client_credentials、client_id、client_secret、scope |
| scope(Getting Startedの記載) | openid,AdobeID,session,additional_info,read_organizations,firefly_api,ff_apis |
| scope(Custom Modelsの手順の記載) | openid,AdobeID,firefly_api,ff_apis |
| 応答 | access_token、token_type(bearer)、expires_in(例:86399) |
| 有効期間 | 24時間。期限の前に、サーバー側で取り直す |
2つのページで、scopeの書き方が違います(Getting Startedの方が長い)。どちらを使うかは、自分の用途に合わせて、公式の原文で確かめてください。完全なcurlのコマンドは、公式の「Getting Started」にあります。
手順3:最初の呼び出し(公式の「Text to Image Quickstart」)
公式のクイックスタートは、次の形を示しています。取得した要約では、改行を整え直したものだと注記されていました。コマンドの全文は、原文で照らしてください。
| 項目 | 公式の記載 |
|---|---|
| 宛先 | https://firefly-api.adobe.io/v2/images/generate |
| ヘッダー | X-Api-Key(クライアントID)、Authorization(アクセストークン)、Content-Type: application/json |
| 本文の例(この記事で並べ直した要点) | n(枚数)、prompt(例:「Horse on a field.」)、contentClass(例:photo)、size(幅と高さ)、styles.presets(例:concept_art) |
| 結果 | 200で成功。outputs の中の image.presignedUrl に、画像のURLが入る |
| 非同期 | このページには、書かれていない(応答の中にURLが入る形) |
| エラーコード、回数の制限 | このページには、数字や一覧がない。APIリファレンスの「Try it」と、throttlingのページを見るよう書かれている |
認証ヘッダーの食い違い。 クイックスタートの例は、Authorization に、Bearer の語を付けない形で書いていました(取得した要約が、そう注記しています)。一方、Custom Modelsの手順は、Authorization: Bearer <access token> の形です。どちらが正しいかは、公式の「Authentication」のページで確かめてください(今回は読んでいません)。
手順4:カスタムモデルで画像を生成する(公式の「Custom Models: Generate Image」)
自分の画像で訓練したモデル(カスタムモデル)を、APIから使う手順です。こちらは、v3の非同期のAPIです。
- 認証情報を、この手順用の変数名(
CUSTOM_MODELS_CLIENT_ID、CUSTOM_MODELS_CLIENT_SECRET)で入れる。 - 上と同じ宛先で、アクセストークンを取る。
- カスタムモデルの一覧を取る:
GET https://firefly-api.adobe.io/v3/custom-models。ヘッダーは、x-api-key、Authorization: Bearer ...、Accept: application/json。応答のcustom_modelsに、assetId(urn:aaid:sc:...の形)などが入る。 - 使うモデルの
assetIdを控える。 - 生成を依頼する:
POST https://firefly-api.adobe.io/v3/images/generate-async。ヘッダーにx-model-version: image3_customとx-accept-mimetype: image/jpegを入れる。本文に、numVariations、size、prompt、contentClass、visualIntensity、style、customModelId(手順4の値)などを入れる。 - 応答の
jobId、statusUrl、cancelUrlのうち、statusUrlへGETして、状況を見る。公式の例は、5秒ごとに、succeededかfailedになるまで繰り返す形です。
注意:この取得結果では、公式の本文は assetId を使うよう書く一方、コード例が別の名前(repo:assetId)を読んでいる、という指摘がありました。原文で確かめてください。Image Model 3とImage Model 4のカスタムモデルでは、ネガティブプロンプトは使えない、と書かれています。
渡るデータ、権限、外し方
- 渡るもの:プロンプト、設定、(カスタムモデルの場合は)モデルのID。画像は、期限つきのURL(
presignedUrl)で受け取ります。 - 権限:製品プロファイルで、アプリが触れるデータを決める(03で読んだ内容。今回読んだAPIの概要のページには、製品プロファイルの記載はなく、公式で確認できていません)。カスタムモデルは、アプリに使う権限を与える手順がある、とAPIの概要に書かれています(その手順のページは今回は読んでいません)。
- 外し方:資格情報の削除や、トークンの無効化の手順は、読んだページには書かれていません。
- 公式の概要は、Image Model 5とInstruct Editに触れています。
うまくいかないときの確認点
- 401が出る:トークンの期限(24時間)、
X-Api-KeyとAuthorizationの値を確かめる。 - バージョンの違い:v2とv3で、宛先とヘッダーが違います。使う手順のページの宛先を使う。
- APIリファレンスのページは、今回は取得できませんでした(エラー)。個別のAPIの一覧は、公式で確認してください。
2. Firefly AI Assistant(Firefly内のエージェント)
これは、他社のAIをつなぐものではなく、Fireflyの中のエージェントです。ここでは、つなぎ口との関係だけ書きます。
- Adobeのブログ(2026年4月27日)は、Creative Cloudのアプリにまたがるツールを使える、と書いています。
- 同じブログは、Adobeのツールを、Claudeなどの第三者のAIに広げることに取り組んでいる、と書いています。ブログの書き方は「将来の予定」ですが、翌日(4月28日)のブログが、Claude向けのコネクタを発表しています。今のコネクタの状況は、1〜4の公式のページを見てください。
- アシスタントから、ClaudeなどのほかのAIを呼ぶ機能は、読んだページには書かれていません。
3. Adobeアプリへの受け渡し(Firefly → Photoshop、Express、Premiere)
Fireflyの画面の中の、受け渡しの入口です。公式のPhotoshop、Express、Premiereのヘルプ自体は、今回は読んでいません。
| 出発点 | 選ぶ項目 | 渡る先(公式の記載) |
|---|---|---|
| Generation history(画像) | 「Open in Photoshop web」 | Photoshop on the webで、新しいファイルとして開く |
| Generation history(画像) | 「Open in Adobe Express」 | Adobe Expressで、新しいファイルとして開く |
| Generation history | 「Open in boards」 | Firefly boardで開く |
| Generation history(動画) | 「Open in video editor (beta)」 | Fireflyの動画エディタ(ベータ)で開く |
| 生成した動画 | 「Open in Premiere desktop」 | Premiereのデスクトップアプリで編集する |
| 生成した動画 | 「Open in Firefly video editor」 | ブラウザで編集する |
| Boardsの画像 | 「More」の「Open copy in Photoshop」「Open copy in Adobe Express」 | それぞれ、コピーを開く |
| Boardsの画像 | 「Convert」の「Image to video」「Image to 3D」 | 動画、3Dの素材に変える |
| 共有 | 「Share」、「Share public link」 | 相手に、編集か、コメントの権限を与える。公開のリンクで、誰でも見られる |
生成クレジットは、アプリをまたいで共通、と03で読みました。「Photoshop(デスクトップ)の中のFireflyの機能」「Illustrator」などの手順は、今回は読んでいません。
4. パートナーモデル(他社のモデル)を使うとき
Fireflyの画面の中で、他社のモデルを選ぶ場面は、06の各手順にあります。
- 画像:「General settings」の「Model」にパートナーモデルがある。
- 動画:初めて作るときの既定は、Veo 3.1(Googleのモデル)。
- 音声:ElevenLabs Multilingual v2。
- Boards:画像と動画で、パートナーモデルとCustom Modelsを選べる。
渡るデータは、03に書いた公式の記載(プロンプトと参照ファイルが、出力に必要な最小限の範囲で提供元に共有される。一部のモデルは、開発元に送ることが必要)が、そのまま当てはまると思われます。今回は、そのページを読み直していません。
外し方のまとめ(07と08)
| つなぎ口 | 公式の記載 |
|---|---|
| Adobeコネクタ(Claude、ChatGPT、Gemini、Slack) | 解除の手順は、読んだページに見つからない。各AIアプリの公式の画面で確かめる |
| Run-Workflow MCP | 導入のページに、解除の手順なし。FAQにも見つからない |
| Firefly Services | 認証情報の削除、トークンの無効化の手順は、読んだページに見つからない |
| Boardsの共有 | 共有を外す手順は、読んだページに見つからない |
気をつけること
- この記事は、実際に使って確かめた記録ではありません。運営者は Adobe Firefly を入れていますが、使い心地はこの記事には書いていません。公式の説明を、読めた範囲でまとめたものです。
- 読めなかったページ。 取得回数の上限や取得エラーのため、次のページの本文は読めていません。Firefly APIのリファレンス(取得エラー)、Authentication、Generate Image APIの個別の手順、Custom Modelsを共有する手順、Photoshop、Express、Premiere、Illustratorの機能のヘルプ、パートナーモデルの公式ページ(03で読んだもの)。それらの内容は、この記事には書いていません。
- トークン、APIキー、クライアントシークレットは、他人に見せないでください。コマンドや設定ファイルに値を書くと、端末に残ります(僕らの見立て)。公式も、認証情報はクライアント側のコードや公開のコードに置かないように書いています。
- 公式のページ同士で、書き方が違う箇所があります(APIのバージョンと認証ヘッダー、scope)。この記事は、どちらかに決めつけず、併記しました。
- Adobeコネクタ、Run-Workflow MCPについては、07(その1)を見てください。
- 規約や契約の解釈は、専門家やAdobeに確認してください。この記事は法律の助言ではありません。
出典
- Adobe Firefly API Overview(Adobe Developer、確認日 2026-10-25)
- Getting Started(Firefly API、Adobe Developer、確認日 2026-10-25)
- Firefly Text to Image Quickstart(Adobe Developer、確認日 2026-10-25)
- Firefly Custom Models: Generate Image(Adobe Developer、確認日 2026-10-25)
- Firefly AI Assistant (Public Beta)(Adobe 公式ブログ、2026-04-27、確認日 2026-10-25)
- View generation history(Adobe ヘルプセンター、確認日 2026-10-25)
- Generate videos using text prompts(Adobe ヘルプセンター、確認日 2026-10-25)
- Create boards(Adobe ヘルプセンター、確認日 2026-10-25。末尾の約4,000文字は未読)
- Share for collaboration(Adobe ヘルプセンター、確認日 2026-10-25)