curl --request POST \
--url https://api.siray.ai/v1/images/generations/async \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"background": "auto",
"complexity": "low",
"frame_count": 2,
"frame_duration_ms": 20,
"height": 1,
"images": [
"example_value"
],
"mask": "example_value",
"model": "openai/gpt-image-2.6-flare-edit",
"moderation": "auto",
"n": 1,
"output_format": "jpg",
"prompt": "example_value",
"quality": "low",
"size": "auto",
"width": 1
}
'import requests
url = "https://api.siray.ai/v1/images/generations/async"
payload = {
"background": "auto",
"complexity": "low",
"frame_count": 2,
"frame_duration_ms": 20,
"height": 1,
"images": ["example_value"],
"mask": "example_value",
"model": "openai/gpt-image-2.6-flare-edit",
"moderation": "auto",
"n": 1,
"output_format": "jpg",
"prompt": "example_value",
"quality": "low",
"size": "auto",
"width": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
background: 'auto',
complexity: 'low',
frame_count: 2,
frame_duration_ms: 20,
height: 1,
images: ['example_value'],
mask: 'example_value',
model: 'openai/gpt-image-2.6-flare-edit',
moderation: 'auto',
n: 1,
output_format: 'jpg',
prompt: 'example_value',
quality: 'low',
size: 'auto',
width: 1
})
};
fetch('https://api.siray.ai/v1/images/generations/async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.siray.ai/v1/images/generations/async",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'background' => 'auto',
'complexity' => 'low',
'frame_count' => 2,
'frame_duration_ms' => 20,
'height' => 1,
'images' => [
'example_value'
],
'mask' => 'example_value',
'model' => 'openai/gpt-image-2.6-flare-edit',
'moderation' => 'auto',
'n' => 1,
'output_format' => 'jpg',
'prompt' => 'example_value',
'quality' => 'low',
'size' => 'auto',
'width' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.siray.ai/v1/images/generations/async"
payload := strings.NewReader("{\n \"background\": \"auto\",\n \"complexity\": \"low\",\n \"frame_count\": 2,\n \"frame_duration_ms\": 20,\n \"height\": 1,\n \"images\": [\n \"example_value\"\n ],\n \"mask\": \"example_value\",\n \"model\": \"openai/gpt-image-2.6-flare-edit\",\n \"moderation\": \"auto\",\n \"n\": 1,\n \"output_format\": \"jpg\",\n \"prompt\": \"example_value\",\n \"quality\": \"low\",\n \"size\": \"auto\",\n \"width\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.siray.ai/v1/images/generations/async")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"background\": \"auto\",\n \"complexity\": \"low\",\n \"frame_count\": 2,\n \"frame_duration_ms\": 20,\n \"height\": 1,\n \"images\": [\n \"example_value\"\n ],\n \"mask\": \"example_value\",\n \"model\": \"openai/gpt-image-2.6-flare-edit\",\n \"moderation\": \"auto\",\n \"n\": 1,\n \"output_format\": \"jpg\",\n \"prompt\": \"example_value\",\n \"quality\": \"low\",\n \"size\": \"auto\",\n \"width\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siray.ai/v1/images/generations/async")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"background\": \"auto\",\n \"complexity\": \"low\",\n \"frame_count\": 2,\n \"frame_duration_ms\": 20,\n \"height\": 1,\n \"images\": [\n \"example_value\"\n ],\n \"mask\": \"example_value\",\n \"model\": \"openai/gpt-image-2.6-flare-edit\",\n \"moderation\": \"auto\",\n \"n\": 1,\n \"output_format\": \"jpg\",\n \"prompt\": \"example_value\",\n \"quality\": \"low\",\n \"size\": \"auto\",\n \"width\": 1\n}"
response = http.request(request)
puts response.read_body{
"code": "success",
"data": {
"task_id": "<string>"
},
"message": "<string>",
"fail_code": "<string>"
}GPT Image 2.6 Flare Edit
curl --request POST \
--url https://api.siray.ai/v1/images/generations/async \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"background": "auto",
"complexity": "low",
"frame_count": 2,
"frame_duration_ms": 20,
"height": 1,
"images": [
"example_value"
],
"mask": "example_value",
"model": "openai/gpt-image-2.6-flare-edit",
"moderation": "auto",
"n": 1,
"output_format": "jpg",
"prompt": "example_value",
"quality": "low",
"size": "auto",
"width": 1
}
'import requests
url = "https://api.siray.ai/v1/images/generations/async"
payload = {
"background": "auto",
"complexity": "low",
"frame_count": 2,
"frame_duration_ms": 20,
"height": 1,
"images": ["example_value"],
"mask": "example_value",
"model": "openai/gpt-image-2.6-flare-edit",
"moderation": "auto",
"n": 1,
"output_format": "jpg",
"prompt": "example_value",
"quality": "low",
"size": "auto",
"width": 1
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
background: 'auto',
complexity: 'low',
frame_count: 2,
frame_duration_ms: 20,
height: 1,
images: ['example_value'],
mask: 'example_value',
model: 'openai/gpt-image-2.6-flare-edit',
moderation: 'auto',
n: 1,
output_format: 'jpg',
prompt: 'example_value',
quality: 'low',
size: 'auto',
width: 1
})
};
fetch('https://api.siray.ai/v1/images/generations/async', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.siray.ai/v1/images/generations/async",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'background' => 'auto',
'complexity' => 'low',
'frame_count' => 2,
'frame_duration_ms' => 20,
'height' => 1,
'images' => [
'example_value'
],
'mask' => 'example_value',
'model' => 'openai/gpt-image-2.6-flare-edit',
'moderation' => 'auto',
'n' => 1,
'output_format' => 'jpg',
'prompt' => 'example_value',
'quality' => 'low',
'size' => 'auto',
'width' => 1
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.siray.ai/v1/images/generations/async"
payload := strings.NewReader("{\n \"background\": \"auto\",\n \"complexity\": \"low\",\n \"frame_count\": 2,\n \"frame_duration_ms\": 20,\n \"height\": 1,\n \"images\": [\n \"example_value\"\n ],\n \"mask\": \"example_value\",\n \"model\": \"openai/gpt-image-2.6-flare-edit\",\n \"moderation\": \"auto\",\n \"n\": 1,\n \"output_format\": \"jpg\",\n \"prompt\": \"example_value\",\n \"quality\": \"low\",\n \"size\": \"auto\",\n \"width\": 1\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.siray.ai/v1/images/generations/async")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"background\": \"auto\",\n \"complexity\": \"low\",\n \"frame_count\": 2,\n \"frame_duration_ms\": 20,\n \"height\": 1,\n \"images\": [\n \"example_value\"\n ],\n \"mask\": \"example_value\",\n \"model\": \"openai/gpt-image-2.6-flare-edit\",\n \"moderation\": \"auto\",\n \"n\": 1,\n \"output_format\": \"jpg\",\n \"prompt\": \"example_value\",\n \"quality\": \"low\",\n \"size\": \"auto\",\n \"width\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siray.ai/v1/images/generations/async")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"background\": \"auto\",\n \"complexity\": \"low\",\n \"frame_count\": 2,\n \"frame_duration_ms\": 20,\n \"height\": 1,\n \"images\": [\n \"example_value\"\n ],\n \"mask\": \"example_value\",\n \"model\": \"openai/gpt-image-2.6-flare-edit\",\n \"moderation\": \"auto\",\n \"n\": 1,\n \"output_format\": \"jpg\",\n \"prompt\": \"example_value\",\n \"quality\": \"low\",\n \"size\": \"auto\",\n \"width\": 1\n}"
response = http.request(request)
puts response.read_body{
"code": "success",
"data": {
"task_id": "<string>"
},
"message": "<string>",
"fail_code": "<string>"
}Authorizations
Bearer authentication using API key
Body
Request payload
Request format for image generation models
Array of input images, which can be data URL or image URL
1 - 16 elementsModel name to use for the request
openai/gpt-image-2.6-flare-edit Text prompt for generation
Output size. Choose a preset, or set to "custom" to specify an arbitrary size; the width and height fields only take effect when size is "custom".
auto, 1024x768, 768x1024, 1024x1024, 1024x1536, 1536x1024, 2560x1440, 1440x2560, 3840x2160, 2160x3840, custom Background of the generated image
auto, opaque, transparent Generation complexity level. Supported values: low, medium, high.
low, medium, high Number of frames in the generated GIF. Supported range: [2, 16].
2 <= x <= 16Duration of each frame in the generated GIF, in milliseconds. Supported range: [20, 2000].
20 <= x <= 2000Height of the output. Only takes effect when size is "custom".
Mask image for inpainting, it can be data URL or image URL
Content moderation strategy
auto, low Number of outputs to generate
1 <= x <= 10Output format for the 3D model
jpg, png, webp, gif Quality option
low, medium, high, xhigh, max Width of the output. Only takes effect when size is "custom".
Response
Successful response
Standard async task creation response
