Midjourney 画像 API

HopBase 上の Midjourney v8.2 — 1 タスク 4 枚固定、プロンプトパラメータ、アスペクト比、タスクのライフサイクル。

HopBase 上の Midjourney は非同期 API です。まずタスクを送信し、その後 HopBase のタスク ID をポーリングします。Midjourney のプランに属するキーを使用し、課金対象の処理を送信する前に GET /v1/models で正確なモデル ID を確認してください。

エンドポイント

メソッドパス用途
POST/v1/images/generationsMidjourney の画像タスクを送信
GET/v1/video/tasks/{task_id}1 件のタスクを照会
GET/v1/video/tasks現在のユーザーのタスク一覧を取得

すべてのリクエストは Authorization: Bearer sk-your-keyContent-Type: application/json を使用します。モデル ID は midjourney-v8-2 です。

1 タスクにつき必ず 4 枚の画像が返ります

このモデルは 1 タスクあたり常に 4 枚 1 組の画像を生成し、返却された画像はすべて課金対象です。枚数は Midjourney 側で固定されており、n4 または未指定のみを受け付けます。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 × 10242048 × 2048
16:91456 × 8162944 × 1648
9:16816 × 14561648 × 2944
4:31232 × 9282544 × 1904
21:91680 × 7203376 × 1440
14:14096 × 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 / --stylize0〜1000スタイライズの強度
--c / --chaos0〜1004 枚の画像間のばらつき
--weird / --w0〜3000型にはまらない美的表現
--iw0〜3参照画像の重み
--sref + --sw--sw は 0〜1000スタイル参照とその強度
--noテキスト要素の除外
--seed整数再現性
--tile--expフラグ / 0〜100シームレスなタイリング、ダイナミックレンジ

このモデルバージョンが受け付けないパラメータ

以下のパラメータは送信時に 400 で拒否され、理由はエラーメッセージに含まれます。転送せずに拒否しているのは、Midjourney 側がこれらを黙って無視して——得られていない効果に対して料金だけを支払うことになる——か、数分後にタスクが失敗するかのどちらかになるためです。

パラメータ理由
--q / --qualityこのモデルバージョンでは効果がありません
--nijiNiji はパラメータではなく、別のモデルバージョンです
--repeat / --r効果がありません。1 タスクあたりの画像枚数は固定です
--oref--crefOmni 参照とキャラクター参照は v8.x では利用できません
--stealth--stopこのモデルバージョンでは対応していません
--draft1 タスクにつき低解像度の画像を 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"

statusqueuedprocessingcompleted または failed と遷移し、終了状態はこの最後の 2 つのみです。それ以外の値は実行中として扱ってください。完了したタスクには 4 件の出力 URL が outputs に入っており、これは api.hop-base.com ドメインから配信される署名付きリンクで、タスク完了時点から 6 時間有効です。再度照会しても同じ URL が返るだけで有効期限は延長されず、期限切れのリンクは 410 を返すため、この時間内に結果をダウンロードしてください。正常に完了したタスクのみが課金され、失敗したタスクは課金されません。

失敗時の挙動

現象意味
送信時の 400フィールドまたは prompt パラメータが不正です。メッセージに該当箇所が示されるので、修正して再送信してください
タスクが失敗し、コンテンツが拒否されたと表示されるprompt がコンテンツ審査で拒否されました。表現を変えて再送信してください
タスクが失敗し、サービスが混雑していると表示されるこのモデルのプランが同時実行数の上限に達しています。しばらくしてから再試行してください。課金は発生しません

このモデルは同時実行数が制限されています

Midjourney が同時に生成できるプロンプトの数はごくわずかで、同期型の画像モデルよりはるかに少なくなっています。大量のリクエストを並列で送信すると、キューに積まれるのではなくほとんどが失敗します。数件ずつ送信し、混雑で返ってきたものだけを再試行してください——失敗したタスクは課金されません。

料金

Midjourney は返却された画像 1 枚単位で課金されるため、1 タスクはそのティアのレートで 4 枚分の費用になります。デフォルトの生成と --hd の 2K 生成は、それぞれ別に価格が設定されています。公式のリスト価格は料金ページに掲載されています。実際の適用レートはログイン後のモデルカタログに表示され、各リクエストの実際の課金額は利用量レコードで確認できます。

このページの内容