Midjourney 画像 API
HopBase 上の Midjourney v8.2 — 1 タスク 4 枚固定、プロンプトパラメータ、アスペクト比、タスクのライフサイクル。
HopBase 上の Midjourney は非同期 API です。まずタスクを送信し、その後 HopBase のタスク ID をポーリングします。Midjourney のプランに属するキーを使用し、課金対象の処理を送信する前に GET /v1/models で正確なモデル ID を確認してください。
エンドポイント
| メソッド | パス | 用途 |
|---|---|---|
| POST | /v1/images/generations | Midjourney の画像タスクを送信 |
| GET | /v1/video/tasks/{task_id} | 1 件のタスクを照会 |
| GET | /v1/video/tasks | 現在のユーザーのタスク一覧を取得 |
すべてのリクエストは Authorization: Bearer sk-your-key と Content-Type: application/json を使用します。モデル ID は midjourney-v8-2 です。
1 タスクにつき必ず 4 枚の画像が返ります
このモデルは 1 タスクあたり常に 4 枚 1 組の画像を生成し、返却された画像はすべて課金対象です。枚数は Midjourney 側で固定されており、n は 4 または未指定のみを受け付けます。1 枚だけを指定する方法はありません。1 回の送信につき 4 枚分の予算を見込んでください。
リクエスト契約
| フィールド | 必須 | 備考 |
|---|---|---|
model | 必須 | midjourney-v8-2 |
prompt | 必須 | 説明文に加えて任意のパラメータ。画像のみで説明文のないリクエストは拒否されます |
images | 任意 | 0–1 項目の配列。例:[{"url":"https://example.com/ref.png"}]。各項目は url / file_id の一方のみ、usage 不可 |
n | 任意 | 4 のみ、または省略。それ以外の値は拒否されます |
quality | 任意 | 省略してください。空でない値は 400。2K は prompt に --hd |
curl https://api.hop-base.com/v1/images/generations \
-H "Authorization: Bearer sk-your-key" \
-H "Content-Type: application/json" \
-d '{"model":"midjourney-v8-2","prompt":"a red apple on a wooden table, studio light --ar 16:9"}'サイズとアスペクト比
画像サイズはリクエストのフィールドではありません。prompt 内の --ar で決まり、--hd を付けると辺の長さがおよそ 2 倍のサイズでネイティブに生成されます。下表のサイズは計算値ではなく実測値です——--hd は正確に 2 倍になるわけではありません。
--ar | デフォルト | --hd 併用時 |
|---|---|---|
1:1(デフォルト) | 1024 × 1024 | 2048 × 2048 |
16:9 | 1456 × 816 | 2944 × 1648 |
9:16 | 816 × 1456 | 1648 × 2944 |
4:3 | 1232 × 928 | 2544 × 1904 |
21:9 | 1680 × 720 | 3376 × 1440 |
14:1 | 4096 × 288 | 拒否されます——下記を参照 |
--ar は整数比のみを受け付け、--ar 1.5:1 は拒否されます。比率はどちらの方向でも 14:1 を超えることはできず、さらに--hd を付けるとその上限は 4:1 まで下がります。そのため --hd --ar 14:1 は拒否され、--hd --ar 4:1 は 4096 × 1184 で生成されます。
プロンプトパラメータ
以下のパラメータは受け付けられ、そのまま渡されます。
| パラメータ | 範囲 | 用途 |
|---|---|---|
--ar | 整数比 | アスペクト比 |
--hd | フラグ | ネイティブ 2K 生成 |
--s / --stylize | 0〜1000 | スタイライズの強度 |
--c / --chaos | 0〜100 | 4 枚の画像間のばらつき |
--weird / --w | 0〜3000 | 型にはまらない美的表現 |
--iw | 0〜3 | 参照画像の重み |
--sref + --sw | --sw は 0〜1000 | スタイル参照とその強度 |
--no | テキスト | 要素の除外 |
--seed | 整数 | 再現性 |
--tile、--exp | フラグ / 0〜100 | シームレスなタイリング、ダイナミックレンジ |
このモデルバージョンが受け付けないパラメータ
以下のパラメータは送信時に 400 で拒否され、理由はエラーメッセージに含まれます。転送せずに拒否しているのは、Midjourney 側がこれらを黙って無視して——得られていない効果に対して料金だけを支払うことになる——か、数分後にタスクが失敗するかのどちらかになるためです。
| パラメータ | 理由 |
|---|---|
--q / --quality | このモデルバージョンでは効果がありません |
--niji | Niji はパラメータではなく、別のモデルバージョンです |
--repeat / --r | 効果がありません。1 タスクあたりの画像枚数は固定です |
--oref、--cref | Omni 参照とキャラクター参照は v8.x では利用できません |
--stealth、--stop | このモデルバージョンでは対応していません |
--draft | 1 タスクにつき低解像度の画像を 24 枚返す機能で、提供していません |
--profile | パーソナライズプロファイルはこの API では対応していません |
:: | マルチプロンプトの重み付けはこのモデルバージョンでは対応していません |
送信とポーリング
送信に成功すると 202 が返り、タスク ID は id に、1 タスクあたりの枚数は images_per_task に入っています。他の非同期メディアタスクと同様に、課金用のヘッダーを付けずにポーリングします。
curl https://api.hop-base.com/v1/video/tasks/YOUR_TASK_ID \
-H "Authorization: Bearer sk-your-key"status は queued → processing → completed または failed と遷移し、終了状態はこの最後の 2 つのみです。それ以外の値は実行中として扱ってください。完了したタスクには 4 件の出力 URL が outputs に入っており、これは api.hop-base.com ドメインから配信される署名付きリンクで、タスク完了時点から 6 時間有効です。再度照会しても同じ URL が返るだけで有効期限は延長されず、期限切れのリンクは 410 を返すため、この時間内に結果をダウンロードしてください。正常に完了したタスクのみが課金され、失敗したタスクは課金されません。
失敗時の挙動
| 現象 | 意味 |
|---|---|
送信時の 400 | フィールドまたは prompt パラメータが不正です。メッセージに該当箇所が示されるので、修正して再送信してください |
| タスクが失敗し、コンテンツが拒否されたと表示される | prompt がコンテンツ審査で拒否されました。表現を変えて再送信してください |
| タスクが失敗し、サービスが混雑していると表示される | このモデルのプランが同時実行数の上限に達しています。しばらくしてから再試行してください。課金は発生しません |
このモデルは同時実行数が制限されています
Midjourney が同時に生成できるプロンプトの数はごくわずかで、同期型の画像モデルよりはるかに少なくなっています。大量のリクエストを並列で送信すると、キューに積まれるのではなくほとんどが失敗します。数件ずつ送信し、混雑で返ってきたものだけを再試行してください——失敗したタスクは課金されません。
料金
Midjourney は返却された画像 1 枚単位で課金されるため、1 タスクはそのティアのレートで 4 枚分の費用になります。デフォルトの生成と --hd の 2K 生成は、それぞれ別に価格が設定されています。公式のリスト価格は料金ページに掲載されています。実際の適用レートはログイン後のモデルカタログに表示され、各リクエストの実際の課金額は利用量レコードで確認できます。