API Module Guide
Mô-đun nhiệm vụ giữa hành trình
Mô tả tính năng
Tiền tố API hợp nhất là http(s)://<your-domain>
Nên sử dụng HTTPS trong môi trường sản xuất để bảo mật mã thông báo xác thực. HTTP chỉ được khuyến nghị cho môi trường phát triển.
Một hệ thống quản lý cho các nhiệm vụ tạo hình ảnh. Nó hỗ trợ theo dõi trạng thái nhiệm vụ, theo dõi tiến độ, xem kết quả và các chức năng khác. Nó bao gồm chuyển tiếp URL hình ảnh và cơ chế cập nhật bỏ phiếu phụ trợ.
🔐 Xác thực người dùng
Nhận nhiệm vụ MJ riêng
- Tên giao diện: Nhận nhiệm vụ MJ riêng
- Phương thức HTTP: NHẬN
- Đường dẫn:
/api/mj/self - Yêu cầu xác thực: Người dùng
- Mô tả chức năng: Phân trang và truy xuất danh sách nhiệm vụ Midjourney của người dùng hiện tại, hỗ trợ lọc theo ID nhiệm vụ và phạm vi thời gian.
💡 Yêu cầu Ví dụ:
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': 'your_user_id'
}
});
const data = await response.json();✅ Ví dụ phản hồi thành công:
{
"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
}
}❗ Ví dụ về phản hồi thất bại:
{
"success": false,
"message": "Failed to retrieve task list"
}🧾 Mô tả trường:
p(Number): Số trang, mặc định là 1page_size(Number): Mục trên mỗi trang, mặc định là 20mj_id(String): Bộ lọc ID tác vụ, tùy chọnstart_timestamp(Số): Dấu thời gian bắt đầu, tùy chọnend_timestamp(Number): Dấu thời gian kết thúc, tùy chọn- Mô tả trường trả về:
id(Number): ID bản ghi cơ sở dữ liệumj_id(String): Mã định danh duy nhất của nhiệm vụ giữa cuộc hành trìnhaction(String): Kiểu hoạt động như IMAGINE, UPSCALE, v.v.prompt(String): Dấu nhắc gốcprompt_en(String): Dấu nhắc tiếng Anhstatus(String): Trạng thái nhiệm vụ midjourney.go:19progress(String): Tỷ lệ phần trăm tiến độ hoàn thànhimage_url(String): URL hình ảnh được tạovideo_url(String): URL video được tạovideo_urls(String): chuỗi mảng JSON của nhiều URL videosubmit_time(Số): Dấu thời gian nộp bàistart_time(Number): Bắt đầu xử lý dấu thời gianfinish_time(Số): Dấu thời gian hoàn thànhfail_reason(String): Lý do lỗiquota(Number): Hạn ngạch tiêu thụ
🔐 Xác thực quản trị viên
Nhận tất cả nhiệm vụ MJ
- Tên giao diện: Nhận tất cả nhiệm vụ MJ
- Phương thức HTTP: NHẬN
- Đường dẫn:
/api/mj/ - Yêu cầu xác thực: Quản trị viên
- Mô tả chức năng: Phân trang và truy xuất tất cả các tác vụ Midjourney trong hệ thống, hỗ trợ lọc theo ID kênh, ID tác vụ và phạm vi thời gian.
💡 Yêu cầu Ví dụ:
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': 'your_user_id'
}
});
const data = await response.json();✅ Ví dụ phản hồi thành công:
{
"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
}
}❗ Ví dụ về phản hồi thất bại:
{
"success": false,
"message": "Failed to retrieve task list"
}🧾 Mô tả trường:
p(Number): Số trang, mặc định là 1page_size(Number): Mục trên mỗi trang, mặc định là 20channel_id(String): Bộ lọc ID kênh, tùy chọnmj_id(String): Bộ lọc ID tác vụ, tùy chọnstart_timestamp(String): Dấu thời gian bắt đầu, tùy chọnend_timestamp(String): Dấu thời gian kết thúc, tùy chọn- Các trường trả về bao gồm tất cả các trường từ tác vụ của chính người dùng, cộng với các phần bổ sung sau:
user_id(Number): ID của người dùng sở hữu tác vụchannel_id(Số): ID kênh được sử dụng