Flux
Получение результата изображения Flux
Проверяйте статус задачи генерации изображений Flux и получайте результаты по ID задачи с помощью CometAPI через GET /flux/v1/get_result, совместимо с задачами Replicate.
GET
/
flux
/
v1
/
get_result
cURL
TASK_ID="<task_id>"
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"]}
while True:
task = requests.get(
"https://api.cometapi.com/flux/v1/get_result",
params={"id": task_id},
headers=headers,
).json()
print(task["status"])
if task["status"] not in ("Pending", "Request Accepted"):
break
time.sleep(3)
if task["status"] == "Ready":
print(task["result"]["sample"]) # download promptly; the link expiresconst taskId = "<task_id>";
const headers = { Authorization: `Bearer ${process.env.COMETAPI_KEY}` };
let task;
while (true) {
task = await (await fetch(
`https://api.cometapi.com/flux/v1/get_result?id=${taskId}`, { headers }
)).json();
console.log(task.status);
if (task.status !== "Pending" && task.status !== "Request Accepted") break;
await new Promise((resolve) => setTimeout(resolve, 3000));
}
if (task.status === "Ready") {
console.log(task.result.sample); // download promptly; the link expires
}<?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>",
"result": {
"seed": 4041919005,
"prompt": "A red kite in a blue sky.",
"sample": "https://delivery.eu2.bfl.ai/durable/.../sample.jpeg",
"duration": 7.2,
"start_time": 1781078400.1,
"end_time": 1781078407.3
},
"status": "Ready"
}Обзор
Запрашивайте статус и результат задачи генерации изображения по ID задачи.Кросс-API совместимость: Этот endpoint также совместим с задачами, созданными через
/replicate/v1/models/\{model\}/predictions и /flux/v1/\{model\}.Авторизации
Bearer token authentication. Use your CometAPI key.
Параметры запроса
Task id returned by the Flux generate endpoint.
⌘I
cURL
TASK_ID="<task_id>"
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"]}
while True:
task = requests.get(
"https://api.cometapi.com/flux/v1/get_result",
params={"id": task_id},
headers=headers,
).json()
print(task["status"])
if task["status"] not in ("Pending", "Request Accepted"):
break
time.sleep(3)
if task["status"] == "Ready":
print(task["result"]["sample"]) # download promptly; the link expiresconst taskId = "<task_id>";
const headers = { Authorization: `Bearer ${process.env.COMETAPI_KEY}` };
let task;
while (true) {
task = await (await fetch(
`https://api.cometapi.com/flux/v1/get_result?id=${taskId}`, { headers }
)).json();
console.log(task.status);
if (task.status !== "Pending" && task.status !== "Request Accepted") break;
await new Promise((resolve) => setTimeout(resolve, 3000));
}
if (task.status === "Ready") {
console.log(task.result.sample); // download promptly; the link expires
}<?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>",
"result": {
"seed": 4041919005,
"prompt": "A red kite in a blue sky.",
"sample": "https://delivery.eu2.bfl.ai/durable/.../sample.jpeg",
"duration": 7.2,
"start_time": 1781078400.1,
"end_time": 1781078407.3
},
"status": "Ready"
}