Flux
获取 FLUX 图像结果
通过顶级 ID 轮询原生 FLUX 图像任务,并在其状态为 Ready 时获取生成图像的 URL。
GET
/
flux
/
v1
/
get_result
cURL
curl "https://api.cometapi.com/flux/v1/get_result?id=<task_id>" \
-H "Authorization: Bearer $COMETAPI_KEY"import os
import time
import requests
task_id = "<task_id>"
headers = {"Authorization": "Bearer " + os.environ["COMETAPI_KEY"]}
failure_statuses = {
"Error",
"Failed",
"Failure",
"Task not found",
"Request Moderated",
"Content Moderated",
"failed",
"failure",
}
for _ in range(60):
response = requests.get(
"https://api.cometapi.com/flux/v1/get_result",
params={"id": task_id},
headers=headers,
timeout=30,
)
response.raise_for_status()
task = response.json()
status = task.get("status")
print(status)
if status == "Ready":
print(task["result"]["sample"])
break
if status in failure_statuses:
raise RuntimeError(f"FLUX task failed: {status}")
time.sleep(5)
else:
raise TimeoutError("FLUX task did not finish in time")
const taskId = "<task_id>";
const headers = { Authorization: `Bearer ${process.env.COMETAPI_KEY}` };
const failureStatuses = new Set([
"Error",
"Failed",
"Failure",
"Task not found",
"Request Moderated",
"Content Moderated",
"failed",
"failure",
]);
for (let attempt = 0; attempt < 60; attempt += 1) {
const response = await fetch(
`https://api.cometapi.com/flux/v1/get_result?id=${encodeURIComponent(taskId)}`,
{ headers, signal: AbortSignal.timeout(30_000) },
);
if (!response.ok) throw new Error(await response.text());
const task = await response.json();
console.log(task.status);
if (task.status === "Ready") {
console.log(task.result.sample);
break;
}
if (failureStatuses.has(task.status)) {
throw new Error(`FLUX task failed: ${task.status}`);
}
if (attempt === 59) throw new Error("FLUX task did not finish in time");
await new Promise((resolve) => setTimeout(resolve, 5000));
}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cometapi.com/flux/v1/get_result",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cometapi.com/flux/v1/get_result"
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))
}HttpResponse<String> response = Unirest.get("https://api.cometapi.com/flux/v1/get_result")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cometapi.com/flux/v1/get_result")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<task_id>",
"status": "Pending",
"result": null
}概述
将id 返回的顶级任务 POST /flux/v1/\{model\} 作为 id 查询参数传入。请在限定的客户端超时时间内持续轮询,直至任务成功或失败。
| 状态 | 客户端操作 |
|---|---|
Ready | 读取 result.sample,然后及时下载或传输图像。 |
Error, Failed,或 Failure | 停止并显示任务错误。 |
Task not found | 停止;该 ID 未知或已不可用。 |
Request Moderated | 停止;请求被审核拒绝。 |
Content Moderated | 停止;生成的内容被审核拒绝。 |
| 任何其他状态 | 继续轮询,直至达到客户端超时时间。 |
sample、seed、prompt 和 start_time。某些字段可能会省略,因此仅在任务处于 result.sample 后才要求提供 Ready。
result.sample 是临时的。请勿将提供商结果 URL 用作持久的应用程序资产。授权
Bearer token authentication. Use your CometAPI key.
查询参数
Top-level task ID returned by the FLUX create endpoint.
响应
200 - application/json
Current FLUX task state and, when ready, the generated image result.
FLUX task ID.
Task state. Ready is successful. Known failure states include Error, Failed, Failure, Task not found, Request Moderated, and Content Moderated.
Generation result. It can be null or omitted while the task is still running.
Show child attributes
Show child attributes
Task progress when returned.
Additional task details when returned.
Task preview data when returned.
最后修改于 2026年7月31日
⌘I
cURL
curl "https://api.cometapi.com/flux/v1/get_result?id=<task_id>" \
-H "Authorization: Bearer $COMETAPI_KEY"import os
import time
import requests
task_id = "<task_id>"
headers = {"Authorization": "Bearer " + os.environ["COMETAPI_KEY"]}
failure_statuses = {
"Error",
"Failed",
"Failure",
"Task not found",
"Request Moderated",
"Content Moderated",
"failed",
"failure",
}
for _ in range(60):
response = requests.get(
"https://api.cometapi.com/flux/v1/get_result",
params={"id": task_id},
headers=headers,
timeout=30,
)
response.raise_for_status()
task = response.json()
status = task.get("status")
print(status)
if status == "Ready":
print(task["result"]["sample"])
break
if status in failure_statuses:
raise RuntimeError(f"FLUX task failed: {status}")
time.sleep(5)
else:
raise TimeoutError("FLUX task did not finish in time")
const taskId = "<task_id>";
const headers = { Authorization: `Bearer ${process.env.COMETAPI_KEY}` };
const failureStatuses = new Set([
"Error",
"Failed",
"Failure",
"Task not found",
"Request Moderated",
"Content Moderated",
"failed",
"failure",
]);
for (let attempt = 0; attempt < 60; attempt += 1) {
const response = await fetch(
`https://api.cometapi.com/flux/v1/get_result?id=${encodeURIComponent(taskId)}`,
{ headers, signal: AbortSignal.timeout(30_000) },
);
if (!response.ok) throw new Error(await response.text());
const task = await response.json();
console.log(task.status);
if (task.status === "Ready") {
console.log(task.result.sample);
break;
}
if (failureStatuses.has(task.status)) {
throw new Error(`FLUX task failed: ${task.status}`);
}
if (attempt === 59) throw new Error("FLUX task did not finish in time");
await new Promise((resolve) => setTimeout(resolve, 5000));
}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cometapi.com/flux/v1/get_result",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cometapi.com/flux/v1/get_result"
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))
}HttpResponse<String> response = Unirest.get("https://api.cometapi.com/flux/v1/get_result")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cometapi.com/flux/v1/get_result")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<task_id>",
"status": "Pending",
"result": null
}