3行でいうと
- APIキーは、組織の設定の「API Keys」で作ります。キーとwebhookの署名用の秘密は、表示されるのが1回だけです(公式のヘルプ)。この記事のコード例では、キーの実値は書かず、
YOUR_API_KEYのようなプレースホルダと環境変数にしています。 - 認証は、リクエストのヘッダー
x-magnific-api-keyにキーを入れる形で、呼び出す先はhttps://api.magnific.comです。公式の認証のページは、いまのところ秘密のキーだけが認証の方法で、サーバー側から呼ぶ形になる、という趣旨を書いています。 - 画像生成(Mystic)は
POST /v1/ai/mysticで始め、GET /v1/ai/mystic/{task-id}で状態(CREATED、IN_PROGRESS、COMPLETED、FAILED)を見る、非同期の形です。webhookを使うと、状態の変化が届きます。 - APIは必ずクレジットを使い、Web版の「無制限」はAPIには適用されない、と公式のヘルプは書いています。1秒あたり・2分あたりなどの制限もあります。
- 外し方は、キーを一時的に無効にする、または削除する、と公式のヘルプに書かれています。MCPやプラグインの外し方は、公式の資料では見つかりませんでした(07)。
この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。コード例は「公式の記載に合わせて、この記事で組んだ例(動作は確かめていません)」で、公式のコードの写しではありません。実際のリクエストの形は、公式のAPIリファレンスで確かめてください。APIキーの実値は、どこにも書いていません。
先に結論
- APIはクレジットを使う購読の仕組みです。 APIのヘルプは、APIは購読とクレジットの仕組みで、生成のリクエストごとにクレジットが引かれる、と書き、プランごとのキーの数を表にしています。03で整理した公式のAPI利用規約は、APIの利用にはAPIを含む有効な購読が要る、と書いていました(この記事では、規約のページは読み直していません)。一方、API用のクイックスタートは、購読の条件を書かず、Enterpriseは担当者にAPIのアクセスを頼む、とだけ書いています(併記)。無料のお試しの記述は、読んだ範囲では見つかりませんでした。
- キーの作り方の画面の経路は、公式のページで複数書かれています。 「いまの経路」「古い経路」「購読の管理者の画面」が併記されています(後述)。
- 結果の画像のURLは、生成から30分で期限が切れます。 公式のクイックスタートに書かれています。取りに行く処理を、30分以内に済ませる必要があります。
- AIアシスタントにコードを書かせるための入口が、公式のドキュメントにあります。
llms.txt、llms-full.txt、各ページのURLの末尾に.mdを付けた形、の3つです。 - MCPとAPIは別の入口です。 MCPはOAuthでAPIキーを使わず、APIは秘密のキーを使います(07)。
前提:用語をそろえる
- API:他のソフトからMagnificの機能を呼び出す入口です。
- APIキー:呼び出す側の身元を示す文字列で、ほかの人に見せない秘密として扱います。
- 非同期:リクエストを送ると、まず「受け付けた」という返事(タスクID)が来て、結果はあとで取りに行く、または届く、という形です。
- ポーリング:結果ができたかを、一定の間隔で聞きに行くやり方です。
- webhook:結果ができたときに、こちらが用意したURLへ、Magnificから通知が送られるやり方です。
- HMAC:共有の秘密を使って、メッセージが改ざんされていないかを確かめる計算です。公式のwebhookのページでは、署名の確認に使います。
- レート制限:短い時間に送れるリクエストの数の上限です。
- 環境変数:キーなどの秘密を、コードの中に書かず、実行する環境から渡す仕組みです。
手順1:APIキーを作る
公式のヘルプ「Magnific API」とクイックスタートに書かれた内容を並べます。
書かれている経路
| 呼び名 | 書かれている場所 |
|---|---|
| いまの経路 | ユーザーメニューを開き、組織の Settings、API Keys の節へ(magnific.com/user/api-keys)。Enterpriseで、この節がない場合は、Magnificの担当者にアクセスを頼む |
| 古い経路 | 右上のプロフィール画像から API Dashboard、または magnific.com/developers/dashboard |
| 購読の管理者の画面 | キーの作成は magnific.com/user/organization/api-keys、権限は magnific.com/user/organization/permissions/api-keys、キーごとの使用額の管理は magnific.com/user/credits |
クイックスタート(API用)は、「管理者(Administrator)のメールアドレスでサインインし、ダッシュボードの API Keys でキーを作る」という順を書いています。経路の書き方がページによって違うので、どれが手元の画面で正しいかは、画面と照らして決めてください。
キーを作ったときに起きること
- キーが作られ、同時に webhookの署名用の秘密 も作られる、と書かれています。
- キーと秘密は、表示されるのが1回だけ です。窓を閉じる前に、パスワード管理など、決めた保管場所に写します。
- キーの名前は、秘密や使用履歴を失わずに変えられます。
- キーは、一時的に無効にできます(キーの入れ替えや緊急時のため、と書かれています)。
- キーは、確認のうえで完全に削除できます。
- キーごとに、使用状況を調べられます。
プランごとのキーの数
公式のヘルプ「Magnific API」の表です(確認日 2026-10-25)。
| プラン | キーの数 |
|---|---|
| Premium | 1 |
| Premium+ | 1 |
| Pro | 3 |
| Business | 5 |
| Enterprise | 無制限 |
プランごとの月・年のクレジットの数字は、「Magnific API」と「AI credits & limits」の2つのヘルプで、ProとBusinessが食い違って読めたため、この記事には載せません(確認日 2026-10-25)。画面の表示で確かめてください。ストック素材のAPIダウンロードは、Premium、Premium+、Proは、クレジットを使わず1日100回まで、BusinessとEnterpriseは無制限でクレジットから引かれる、と書かれています。
手順2:認証とベースURL
- 認証のヘッダー:
x-magnific-api-key - 呼び出す先:
https://api.magnific.com(Mystic のリファレンスにある)。api.freepik.comも動き、同じキーが両方で使える。古い入口は少なくとも6か月は使えて、移行の予定を知らせるヘッダー(deprecation headers)が付く、と移行のページに書かれています(2026年10月25日に再確認)。 - 認証のページに載る例の趣旨を、次のとおり書きます(言語ごとの例の有無は、今回の再確認では確認できていません)。公式の原文は、公式ページで確かめてください。
# この記事で組んだ例(公式の認証のページの趣旨。動作は確かめていません)
curl -H "x-magnific-api-key: YOUR_API_KEY" https://api.magnific.com/v1/resources
- 公式の認証のページは、いまのところ「private API keys」だけが認証の方法で、サーバーとサーバーの間の呼び出しだけが可能になる、したがってキーは、ブラウザなど利用者側のコードに出さず、バックエンドで使うことになる、という趣旨を書いています。保管・入れ替え・取り消しについて、それ以上の案内は、そのページには書かれていません。
- 認証のページは、OpenAPIの仕様書をダウンロードできるリンクがある、とも書いています。
手順3:画像を1枚作る(Mystic)
公式のMysticのリファレンスに書かれた項目です。
リクエスト
- 方法と経路:
POST /v1/ai/mystic - ヘッダー:
x-magnific-api-key、本文はJSON - 主なパラメータ(必須のものは、スキーマ上は示されていません):
| 名前 | 内容(公式の記載) |
|---|---|
prompt |
説明の文章。省略するとランダムな画像。@キャラクター名 や @キャラクター名::強さ が使える |
webhook_url |
状態が変わったときの通知先のURL |
resolution |
1k、2k(初期値)、4k |
aspect_ratio |
初期値は square_1_1。classic_4_3、widescreen_16_9、social_story_9_16 など。fluid のモデルは一部の比率だけ |
model |
realism(初期値)、fluid、zen、flexible、super_real、editorial_portraits |
creative_detailing |
0〜100、初期値33 |
engine |
automatic(初期値)、magnific_illusio、magnific_sharpy、magnific_sparkle |
fixed_generation |
true にすると、同じ設定で再現できる。初期値は false |
filter_nsfw |
初期値は true。通常の利用では無効にできない、と書かれている |
structure_reference、style_reference |
base64の画像。指定すると、LoRA(学習した絵柄など)は無視される |
styling |
絵柄(styles)、キャラクター(characters)、色(colors、16進の色と重み)。それぞれ個数の上限がある |
LoRAは、fluid、flexible、super_real、editorial_portraits のモデルのとき、または参照画像を指定したときは、エラーにならず黙って無視される、と書かれています。
この記事で組んだ例(動作は確かめていません)
curl -X POST https://api.magnific.com/v1/ai/mystic \
-H "Content-Type: application/json" \
-H "x-magnific-api-key: YOUR_API_KEY" \
-d '{
"prompt": "a small wooden cabin by a lake at dawn, mist over the water",
"resolution": "2k",
"aspect_ratio": "square_1_1",
"model": "realism"
}'
返事(公式の記載)
- 成功すると、
dataの中にtask_id(UUID)、status、generated(できあがった画像のURLの配列)が入る。受け付けた直後は、statusがIN_PROGRESSでgeneratedは空、という例が書かれています。 statusの値:CREATED、IN_PROGRESS、COMPLETED、FAILED。
状態を見に行く
- 方法と経路:
GET /v1/ai/mystic/{task-id}(task-idは必須の経路のパラメータ)。 - 完了した例では、
generatedに画像のURLが入り、has_nsfwの配列も付く例がありますが、スキーマには定義されていません。 - 結果のリンクは、生成から30分で期限が切れます(クイックスタート)。
- 公式のMysticのページは、「リクエストごとにwebhookを設定して、生成物を取れるようにする」趣旨を書いています。
この記事で組んだ例:状態を聞きに行くPython(動作は確かめていません)
キーは環境変数 MAGNIFIC_API_KEY から読み、コードに書きません。間隔は、公式に指定がないため、この記事で仮に置いた値です。
import os
import time
import requests
BASE = "https://api.magnific.com"
HEADERS = {
"x-magnific-api-key": os.environ["MAGNIFIC_API_KEY"],
"Content-Type": "application/json",
}
body = {"prompt": "a small wooden cabin by a lake at dawn", "resolution": "2k"}
r = requests.post(f"{BASE}/v1/ai/mystic", headers=HEADERS, json=body, timeout=30)
r.raise_for_status()
task_id = r.json()["data"]["task_id"]
while True:
s = requests.get(f"{BASE}/v1/ai/mystic/{task_id}", headers=HEADERS, timeout=30)
s.raise_for_status()
data = s.json()["data"]
if data["status"] in ("COMPLETED", "FAILED"):
break
time.sleep(5) # 仮の間隔。レート制限は後述
print(data["status"], data.get("generated"))
手順4:webhookで結果を受け取る
公式のドキュメントのうち、webhookのページが書いているのは「受け取ったものの検証」に限られます。webhook_url の渡し方は、Mysticのリファレンスに書かれています(上の表)。
公式のwebhookのページに書かれた検証の方法
| 項目 | 書かれていること |
|---|---|
| 送られるもの | HTTPのPOST |
| 検証に使うヘッダー | webhook-id、webhook-timestamp、webhook-signature |
| 署名する内容 | id、タイムスタンプ、生の本文(raw body)を、ピリオドでつないだもの |
| 計算 | HMAC-SHA256。結果をbase64にする |
| 秘密 | APIキーから、ユーザーのダッシュボードで得る(キーを作るときに1回だけ表示される秘密と同じ系統、と読める) |
| 署名の複数 | webhook-signature には、空白で区切った「版,署名」の組が複数入ることがある(キーの入れ替えのため)。どれか1つが合えば受け付ける |
| 再送の検出 | webhook-id は、リクエストの識別子で、再送の検出に使う、と書かれている。タイムスタンプは、リクエストが新しいことの確認に使う(「一定の時間の幅の中」と書かれ、幅は書かれていない) |
| 例の食い違い | 秘密の扱いが、言語の例によって違う。PHPの例は秘密をbase64から戻し、ほかの例は文字列のバイト列を使っている |
再送の回数や間隔、ペイロード(本文)の項目、待ち受けるサーバーのURLの条件は、そのページには書かれていません。Mysticのリファレンスは、通知の本文は状態を聞く経路の返事と同じで、data の包みがない形、と書いています。
この記事で組んだ例:署名の計算(動作は確かめていません)
公式の説明に合わせた形です。秘密の扱い(文字列のまま使うか、base64から戻すか)は、公式の言語別の例を見て合わせてください。
import base64
import hashlib
import hmac
def make_signature(secret: str, webhook_id: str, timestamp: str, body: str) -> str:
content = f"{webhook_id}.{timestamp}.{body}"
digest = hmac.new(secret.encode(), content.encode(), hashlib.sha256).digest()
return base64.b64encode(digest).decode()
# secret には環境変数などから読んだ値を渡す(コードに直接書かない)
手順5:制限とエラー
制限(公式のドキュメント、確認日 2026-10-25)
| 種類 | 数字 |
|---|---|
| 短時間(IPごと) | 5秒の窓で毎秒50回 |
| 平均(IPごと) | 2分の窓で毎秒10回 |
| 1分あたり(APIキーごと) | 30,000回 |
| 1日あたり | ほとんどのエンドポイントでは日次の上限なし。例外として、画像から文章、文章の改善、AIによる検索が1日100,000回(それぞれ) |
分析のAPI(/v1/analytics/*) |
1日10,000回。クレジットは使わず、BusinessとEnterpriseだけ |
APIのヘルプは、制限は「APIキーごととIPごと」で、超えると抑えられたり一時的にブロックされたりすることがある、1日の上限(RPD)と画像の上限(IPD)はダッシュボードで確かめる、より高い制限は営業と話して個別のプランにする、と書いています。ドキュメントの制限のページには、制限を知らせるヘッダーの記載も、HTTPの429の記載も、再試行の間隔の案内もありませんでした。
エラー(公式の記載)
| コード | 意味 | 書かれている対処 |
|---|---|---|
| 400 | 構文やパラメータが不正(message、または項目ごとの理由を持つ problem+json の形) |
パラメータを直す |
| 401 | キーがない、または不正(Invalid API key / Missing API key) |
x-magnific-api-key ヘッダーとキーの形式を確かめる |
| 404 | 経路やリソースがない | URLとパラメータを確かめる |
| 429 | 制限超過(APIのヘルプの表) | 窓が戻るのを待つ、プランを上げる、営業に連絡する |
| 500 | サーバー側の失敗 | もう一度試す。続くならサポートへ |
| 503 | 一時的に使えない(Mysticのリファレンス) | しばらくしてもう一度 |
手順6:エンドポイントの地図と、AIに渡す入口
ドキュメントの区分(docs.magnific.com/llms.txt、確認日 2026-10-25)
| 区分 | 書かれている例 |
|---|---|
| 画像の生成 | Mystic(生成、状態の取得)、Flux、Seedream、Z-Image、Runwayなど |
| 動画の生成 | Kling、Hailuo、Wan、Runway、LTX、Seedance、PixVerse、OmniHuman、VFXなど |
| 画像の編集 | Upscaler Creative/Precision、Relight、Style Transfer、Remove Background、Image Expand |
| 音声 | 音楽、効果音、音声の分離(それぞれ生成と状態の取得) |
| 分析 | チームのクレジット使用量、メンバー、キー、グループ、プロジェクト |
| ストック | 画像とテンプレート、アイコン、動画 |
状態を取るGETのページが索引に並ぶのは、Mystic、音楽、効果音、音声の分離の4つでした。動画やアップスケーラーも非同期と書かれていますが、状態のページは、索引からは見つかりませんでした。
AIアシスタントにコードを書かせる入口(公式のドキュメントに書かれたもの)
https://docs.magnific.com/llms.txt:ドキュメント全体の軽い索引(サイトマップ)https://docs.magnific.com/llms-full.txt:ドキュメント全体のMarkdown。AIの文脈の長さを超えることがある、と書かれている- 各ページのURLの末尾に
.mdを付けると、そのページがMarkdownで返る
この記事の案:連携を組み合わせる(動作は確かめていません)
公式の記載をつなげて考えた案です。公式の手順ではなく、どの組み合わせも動作を確かめていません。
| 組み合わせ | 流れ | 何が、どこに渡るか | 外し方 |
|---|---|---|---|
| Claude(MCP)+ブラウザ版の履歴 | Claudeの会話で画像を作る→あとでブラウザ版の History で見る | 会話の指示はClaude側、素材と生成物はMagnificの履歴(公式の記述) | Claude側のコネクタの削除(Claudeの説明で確認)。履歴の削除の手順は、読んだ範囲に見つからない |
| Photoshopのプラグイン+MCP | Photoshopで作ったものも履歴に残る(公式)。履歴の検索と表示はMCPにある(公式)ので、会話から探せる可能性がある | プラグインがMagnificへ何を送るかは、公式の資料では確認できていない | プラグインの削除は、公式の資料では確認できていない |
| コーディング用のAI+API | llms.txt や .md のページをAIに読ませ、環境変数からキーを読むスクリプトを書かせる |
キーをAIの会話に貼らない。コードの中に書かせない | キーを無効にする、または削除する(公式) |
| Spacesの流れ+MCP | MCPで、Spacesの作業の流れを作って保存し、名前で呼ぶ(公式の例) | 流れはMagnificのアカウントの中に保存される | Spaceの削除は、元に戻せない(公式のSpacesの手順) |
| 費用の見積もり+実行 | simulate_cost などで見積もってから、生成を頼む |
見積もりは無料と書かれている | 該当なし |
公式のMCPのドキュメントは、MCPの道具に、images_generate、video_generate、audio_tts、models3d_generate、stock_search のような名前が並ぶと書いています。ここに挙げた組み合わせは、公式がそう使えと書いたものではありません。
連携ごとの「渡るもの・権限・外し方」の一覧
| 連携 | 認証 | Magnificに渡るもの(公式の記載) | 権限・制限 | 外し方(公式の記載) |
|---|---|---|---|---|
| MCP | OAuth 2.0 | プロンプトと素材はMagnificのワークスペースに。生成物は履歴に | 一部の道具はPremium以上、チーム用はEnterprise | 記載が見つからない |
| プラグイン | パネルでサインイン(ComfyUIはブラウザ) | 生成中は通信が要り、結果が編集ソフトに戻る。結果は履歴にも保存 | 有料プランの商用利用。クレジットは必ず使う | 記載が見つからない |
| API | x-magnific-api-key |
リクエストの内容、画像(base64)、webhookのURL | キーごとの制限、プランごとのキー数、規約(競合サービスの作成の禁止など) | キーの無効化、キーの削除 |
| デスクトップアプリ | ブラウザ経由でサインイン | 作品はMagnificから手元のフォルダへ一方向に同期 | 必要な環境は記載なし | 記載が見つからない |
| スマホアプリ | アカウントでサインイン | コレクションとプロジェクトが端末間で同期 | 必要な環境は記載なし | 記載が見つからない |
APIの使い方の規則として、公式のヘルプは、データマイニング、スクレイピング、AIの学習に使わない、素材を手を加えずに売ったり再配布したりしない、素材を使うたびにダウンロードを正しく報告する、違反するとすぐアクセスを外される、と書いています。
うまくいかないときの確認点(API)
| 症状 | 確認すること |
|---|---|
| 401 | ヘッダーの名前が x-magnific-api-key か。キーの前後に空白がないか。キーが無効化・削除されていないか |
| 429 や接続の拒否 | 短時間にまとめて送っていないか(IPごとに5秒の窓で毎秒50回)。平均の毎秒10回を超えていないか |
generated が空のまま |
status が IN_PROGRESS のままではないか。FAILED ではないか。webhookを使うなら、通知を受ける側が動いているか |
| 画像のURLが開けない | 生成から30分たっていないか |
| 画像のスタイルが効かない | LoRAは、一部のモデルや参照画像と同時には無視される |
| キーを作る画面が見つからない | 経路が3通り書かれている(上の表)。Enterpriseは担当者に頼む |
| webhookの署名が合わない | 署名する内容の順(id、タイムスタンプ、本文)、秘密の扱い(言語の例による違い)、本文を加工していないか |
気をつけること
- この記事は、実際に使って確かめた記録ではありません。コード例は、公式の記載に合わせてこの記事で組んだもので、実行して確かめていません。
- APIキーとwebhookの秘密は、表示が1回だけです。この記事の例ではプレースホルダと環境変数にしています。実際のキーを、AIとの会話、公開リポジトリ、利用者側のコードに入れないでください。
- 公式のドキュメントの複数のページで、同じ項目の書き方が食い違っています(キーの作り方の経路、ProとBusinessのクレジットの数字。数字は載せていません)。画面の表示で確かめてください。
- 公式のドキュメントには、MysticのGETの返事のスキーマの名前が別のエンドポイントのものに見える、という不一致もあります。実際の返事の形は、動かして確かめることになります。
- 取得したドキュメントのページ(docs.magnific.com)には、AIが読むことを想定した一文(「Use this file to discover all available pages before exploring further」)が、ページの頭にありました。この記事は、その指示には従わず、ページの本文だけを根拠にしました。
- 他社のモデルを選んでAPIを呼んだ場合のデータの扱いは、03で整理した公式のプライバシーポリシーの記述が当てはまります。
- エンドポイントの一覧は変わります。この記事に挙げたのは、2026年10月25日に索引で読んだ範囲です。
- 規約・料金・プランは変わります。使う前に、公式で最新を読んでください。この記事は法律の助言ではありません。
出典
- Magnific API(ヘルプ、Magnific、確認日 2026-10-25)
- API Introduction(Magnific、確認日 2026-10-25)
- Quickstart(API、Magnific、確認日 2026-10-25)
- Authentication(API、Magnific、確認日 2026-10-25)
- Webhooks(API、Magnific、確認日 2026-10-25)
- Rate limits(API、Magnific、確認日 2026-10-25)
- Mystic Generate Image(API リファレンス、Magnific、確認日 2026-10-25)
- Mystic Get Task Status(API リファレンス、Magnific、確認日 2026-10-25)
- Docs index(API ドキュメントの索引、Magnific、確認日 2026-10-25)
- Magnific MCP(API ドキュメント内、Magnific、確認日 2026-10-25)
- Freepik is now Magnific(移行の案内、Magnific、確認日 2026-10-25)
- AI credits & limits(ヘルプ、Magnific、確認日 2026-10-25)
- Magnific MCP(Magnific、確認日 2026-10-25)
- Getting started with Spaces(ヘルプ、Magnific、確認日 2026-10-25)