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キーの実値は、どこにも書いていません。

先に結論

前提:用語をそろえる

手順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 でキーを作る」という順を書いています。経路の書き方がページによって違うので、どれが手元の画面で正しいかは、画面と照らして決めてください。

キーを作ったときに起きること

  1. キーが作られ、同時に webhookの署名用の秘密 も作られる、と書かれています。
  2. キーと秘密は、表示されるのが1回だけ です。窓を閉じる前に、パスワード管理など、決めた保管場所に写します。
  3. キーの名前は、秘密や使用履歴を失わずに変えられます。
  4. キーは、一時的に無効にできます(キーの入れ替えや緊急時のため、と書かれています)。
  5. キーは、確認のうえで完全に削除できます。
  6. キーごとに、使用状況を調べられます。

プランごとのキーの数

公式のヘルプ「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

# この記事で組んだ例(公式の認証のページの趣旨。動作は確かめていません)
curl -H "x-magnific-api-key: YOUR_API_KEY" https://api.magnific.com/v1/resources

手順3:画像を1枚作る(Mystic)

公式のMysticのリファレンスに書かれた項目です。

リクエスト

名前 内容(公式の記載)
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"
  }'

返事(公式の記載)

状態を見に行く

この記事で組んだ例:状態を聞きに行く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アシスタントにコードを書かせる入口(公式のドキュメントに書かれたもの)

この記事の案:連携を組み合わせる(動作は確かめていません)

公式の記載をつなげて考えた案です。公式の手順ではなく、どの組み合わせも動作を確かめていません。

組み合わせ 流れ 何が、どこに渡るか 外し方
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、タイムスタンプ、本文)、秘密の扱い(言語の例による違い)、本文を加工していないか

気をつけること

出典