curl --request GET \
--url https://api.ephone.ai/midjourney/task/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ephone.ai/midjourney/task/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ephone.ai/midjourney/task/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ephone.ai/midjourney/task/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"task_id": "mj-6f1c2b0e9a7d4e2fb1c3d5e7f9a1b2c3",
"action": "imagine",
"status": "success",
"speed": "fast",
"prompt": "a red bicycle leaning on a brick wall, morning light --ar 3:2 --v 8.2",
"images": [
"https://.../1.png",
"https://.../2.png",
"https://.../3.png",
"https://.../4.png"
],
"seed": 3277589003,
"actions": [
"upscale",
"variation",
"remix",
"zoom",
"pan",
"inpaint",
"video",
"reroll"
],
"created_at": 1792154579,
"finished_at": 1792154629,
"usage": {
"type": "call",
"multiplier": 1
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid API key"
}
}{
"error": {
"code": "task_not_found",
"message": "Task not found"
}
}查询结果
用提交时返回的 task_id 查询任务状态与结果。
curl --request GET \
--url https://api.ephone.ai/midjourney/task/{task_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ephone.ai/midjourney/task/{task_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ephone.ai/midjourney/task/{task_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ephone.ai/midjourney/task/{task_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"task_id": "mj-6f1c2b0e9a7d4e2fb1c3d5e7f9a1b2c3",
"action": "imagine",
"status": "success",
"speed": "fast",
"prompt": "a red bicycle leaning on a brick wall, morning light --ar 3:2 --v 8.2",
"images": [
"https://.../1.png",
"https://.../2.png",
"https://.../3.png",
"https://.../4.png"
],
"seed": 3277589003,
"actions": [
"upscale",
"variation",
"remix",
"zoom",
"pan",
"inpaint",
"video",
"reroll"
],
"created_at": 1792154579,
"finished_at": 1792154629,
"usage": {
"type": "call",
"multiplier": 1
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid API key"
}
}{
"error": {
"code": "task_not_found",
"message": "Task not found"
}
}| status | 含义 |
|---|---|
submitted | 已提交,排队中 |
in_progress | 生成中 |
success | 完成,产物在 images / videos / descriptions,usage.multiplier 是这次的规格倍率;查询时带 X-Billing-Detail: true,响应头 X-Billing-Amount 是这次实际扣了多少钱 |
failure | 失败,原因见 fail_reason,费用已退回 |
notify_hook 的话,任务结束后我们会把和查询结果相同的内容 POST 到那个地址。推送可能因为网络原因没有送达,长时间没收到时主动查询一次。授权
在请求头 Authorization: Bearer YOUR_API_KEY 里带上 API Key。
请求头
传 true 时,任务结束后响应头里带上 X-Billing-Currency 与 X-Billing-Amount(这个任务实际扣了多少钱),响应内容不变。提交任务时也带上的话,之后查询不带也会返回,任务结束时的回调请求也会带上这两个请求头。
路径参数
提交任务时返回的任务 ID。
响应
OK
任务 ID。
动作名,例如 imagine、upscale。
任务状态,取值见上表。
submitted, in_progress, success, failure 创建时间(Unix 秒)。
提交时选的速度档:relax、fast 或 turbo,也是计费的那一档。识图不分速度,没有这一项。
实际提交的提示词。
图片地址,顺序就是图片序号(第 1 张对应 index: 1)。未通过内容审核的位置是空字符串。
视频地址(视频接口),顺序就是视频序号。
识图结果(describe 接口)。
种子值。
这个任务还能接着做的加工,例如 ["upscale", "variation", "reroll"]。调 POST /midjourney/action 时填进 action,再传 task_id;按图操作的还要传 index,reroll 不用。
失败原因。
结束时间(Unix 秒)。
用量,只在 success 时返回,例如 {"type": "call", "multiplier": 2}。multiplier 是规格倍率,相对于价格表里所选速度档的单价:高清为 2,V7 草图为 0.5,视频按分辨率和数量计;不含账户折扣。实际扣了多少钱看响应头 X-Billing-Amount(查询时带 X-Billing-Detail: true)。
此页面对您有帮助吗?