Midjourney タスクモジュール¶
機能説明
インターフェースのプレフィックスは http(s)://<your-domain>
に統一されています。
本番環境では、認証トークンを保護するために HTTPS を使用する必要があります。HTTP は開発環境でのみ推奨されます。
画像生成タスクの管理システムです。タスクステータスの追跡、進捗監視、結果の表示などの機能をサポートしています。画像 URL の転送およびバックグラウンドポーリング更新メカニズムを含みます。
🔐 ユーザー認証¶
自身の MJ タスクの取得¶
- インターフェース名:自身の MJ タスクの取得
- HTTP メソッド:GET
- パス:
/api/mj/self
- 認証要件:ユーザー
- 機能概要:現在のユーザーの Midjourney タスクリストをページネーション形式で取得します。タスク ID および時間範囲によるフィルタリングをサポートしています。
💡 リクエスト例:
const response = await fetch('/api/mj/self?p=1&page_size=20&mj_id=task123&start_timestamp=1640908800&end_timestamp=1640995200', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_user_token',
'New-Api-User': 'Bearer your_user_id'
}
});
const data = await response.json();
✅ 成功応答例:
{
"success": true,
"message": "",
"data": {
"items": [
{
"id": 1,
"mj_id": "task123456",
"action": "IMAGINE",
"prompt": "a beautiful landscape",
"prompt_en": "a beautiful landscape",
"status": "SUCCESS",
"progress": "100%",
"image_url": "https://example.com/image.jpg",
"video_url": "https://example.com/video.mp4",
"video_urls": "[\"https://example.com/video1.mp4\"]",
"submit_time": 1640908800,
"start_time": 1640909000,
"finish_time": 1640909200,
"fail_reason": "",
"quota": 1000
}
],
"total": 25,
"page": 1,
"page_size": 20
}
}
❗ 失敗応答例:
🧾 フィールド説明:
p
(数値): ページ番号、デフォルトは 1page_size
(数値): 1 ページあたりの数量、デフォルトは 20mj_id
(文字列): タスク ID フィルタリング、オプションstart_timestamp
(数値): 開始タイムスタンプ、オプションend_timestamp
(数値): 終了タイムスタンプ、オプション-
戻り値フィールドの説明:
id
(数値): データベースレコード IDmj_id
(文字列): Midjourney タスクの一意の識別子action
(文字列): 操作タイプ。例: IMAGINE、UPSCALE などprompt
(文字列): 元のプロンプトprompt_en
(文字列): 英語のプロンプトstatus
(文字列): タスクステータス midjourney.go:19progress
(文字列): 完了進捗率(パーセンテージ)image_url
(文字列): 生成された画像 URLvideo_url
(文字列): 生成された動画 URLvideo_urls
(文字列): 複数の動画 URL の JSON 配列文字列submit_time
(数値): 送信タイムスタンプstart_time
(数値): 処理開始タイムスタンプfinish_time
(数値): 完了タイムスタンプfail_reason
(文字列): 失敗理由quota
(数値): 消費されたクォータ(額度)
🔐 管理者認証¶
全ての MJ タスクの取得¶
- インターフェース名:全ての MJ タスクの取得
- HTTP メソッド:GET
- パス:
/api/mj/
- 認証要件:管理者
- 機能概要:システム内の全ての Midjourney タスクをページネーション形式で取得します。チャネル ID、タスク ID、および時間範囲によるフィルタリングをサポートしています。
💡 リクエスト例:
const response = await fetch('/api/mj/?p=1&page_size=20&channel_id=1&mj_id=task123&start_timestamp=1640908800&end_timestamp=1640995200', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'Bearer your_user_id'
}
});
const data = await response.json();
✅ 成功応答例:
{
"success": true,
"message": "",
"data": {
"items": [
{
"id": 1,
"user_id": 1,
"mj_id": "task123456",
"action": "IMAGINE",
"prompt": "a beautiful landscape",
"status": "SUCCESS",
"progress": "100%",
"image_url": "https://example.com/image.jpg",
"channel_id": 1,
"quota": 1000,
"submit_time": 1640908800,
"finish_time": 1640909200
}
],
"total": 100,
"page": 1,
"page_size": 20
}
}
❗ 失敗応答例:
🧾 フィールド説明:
p
(数値): ページ番号、デフォルトは 1page_size
(数値): 1 ページあたりの数量、デフォルトは 20channel_id
(文字列): チャネル ID フィルタリング、オプションmj_id
(文字列): タスク ID フィルタリング、オプションstart_timestamp
(文字列): 開始タイムスタンプ、オプションend_timestamp
(文字列): 終了タイムスタンプ、オプション-
戻り値フィールドには、ユーザー自身のタスクの全てのフィールドに加え、以下が追加されます:
user_id
(数値): タスクが属するユーザー IDchannel_id
(数値): 使用されたチャネル ID