curl https://api.apipod.ai/v1/images/generations \
-H "Authorization: Bearer $APIPOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
}'import os
import requests
payload = {
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
}
response = requests.post(
"https://api.apipod.ai/v1/images/generations",
headers={
"Authorization": f"Bearer {os.environ['APIPOD_API_KEY']}",
"Content-Type": "application/json",
},
json=payload,
timeout=60,
)
response.raise_for_status()
print(response.json())package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
payload := map[string]any{}
if err := json.Unmarshal([]byte(`{
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
}`), &payload); err != nil {
panic(err)
}
body, err := json.Marshal(payload)
if err != nil {
panic(err)
}
req, err := http.NewRequest(http.MethodPost, "https://api.apipod.ai/v1/images/generations", bytes.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("APIPOD_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println(resp.Status)
}use reqwest::Client;
use serde_json::json;
use std::env;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let payload = json!({
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
});
let response = Client::new()
.post("https://api.apipod.ai/v1/images/generations")
.bearer_auth(env::var("APIPOD_API_KEY")?)
.json(&payload)
.send()
.await?
.error_for_status()?;
println!("{}", response.text().await?);
Ok(())
}const response = await fetch("https://api.apipod.ai/v1/images/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.APIPOD_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify(
{
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
}
),
});
if (!response.ok) {
throw new Error(`APIPod request failed: ${response.status} ${await response.text()}`);
}
console.log(await response.json());{
"code": 200,
"message": "success",
"data": {
"task_id": "img_task_01JEXAMPLE"
}
}GPT Image 2.6 Flare
GPT Image 2.6 Flare is the faster tier of OpenAI’s GPT Image 2.6 image family. It keeps the 2.5 fidelity tiers and adds three capabilities: looping GIF animation, editable SVG vector output and a complexity control that decides how much the model plans before rendering. Flare is the default choice when response time matters. In APIPod, the public model ID is gpt-image-2.6-flare. It supports text-to-image and reference-image editing, and returns GIF and SVG results as stored artifacts.
curl https://api.apipod.ai/v1/images/generations \
-H "Authorization: Bearer $APIPOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
}'import os
import requests
payload = {
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
}
response = requests.post(
"https://api.apipod.ai/v1/images/generations",
headers={
"Authorization": f"Bearer {os.environ['APIPOD_API_KEY']}",
"Content-Type": "application/json",
},
json=payload,
timeout=60,
)
response.raise_for_status()
print(response.json())package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
payload := map[string]any{}
if err := json.Unmarshal([]byte(`{
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
}`), &payload); err != nil {
panic(err)
}
body, err := json.Marshal(payload)
if err != nil {
panic(err)
}
req, err := http.NewRequest(http.MethodPost, "https://api.apipod.ai/v1/images/generations", bytes.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("APIPOD_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println(resp.Status)
}use reqwest::Client;
use serde_json::json;
use std::env;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let payload = json!({
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
});
let response = Client::new()
.post("https://api.apipod.ai/v1/images/generations")
.bearer_auth(env::var("APIPOD_API_KEY")?)
.json(&payload)
.send()
.await?
.error_for_status()?;
println!("{}", response.text().await?);
Ok(())
}const response = await fetch("https://api.apipod.ai/v1/images/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.APIPOD_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify(
{
"model": "gpt-image-2.6-flare",
"prompt": "A premium product photograph on a dark studio set, precise typography, soft rim lighting, highly detailed.",
"quality": "auto",
"aspect_ratio": "auto",
"resolution": "1K"
}
),
});
if (!response.ok) {
throw new Error(`APIPod request failed: ${response.status} ${await response.text()}`);
}
console.log(await response.json());{
"code": 200,
"message": "success",
"data": {
"task_id": "img_task_01JEXAMPLE"
}
}Authorizations
Use your APIPod API key as a Bearer token in the Authorization header.
Body
Public APIPod model ID.
"gpt-image-2.6-flare"Used to describe the generated images. For GIF output, describe the subject, the motion and how the loop should close.
32000Publicly reachable source or reference image URLs. Not supported together with gif or svg output.
16Output format. gif and svg are new in GPT Image 2.6 and are only available for text-to-image; svg returns a single result, and neither format supports output_compression or transparent backgrounds.
png, jpeg, webp, gif, svg How much the model plans before rendering. low suits focused edits such as changing a background; high helps with dense text and complex layouts. Defaults to high and costs nothing extra.
low, medium, high Output fidelity tier. Must be at least medium when background is transparent.
auto, low, medium, high, xhigh, max Background mode. transparent returns an alpha-channel image and requires quality of medium or higher.
auto, opaque, transparent Aspect ratio of the generated image.
auto, 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 Resolution tier of the generated images.
1K, 2K, 4K Exact pixel size as WIDTHxHEIGHT, for example 1024x1536. Each side must be a multiple of 16 and at most 3840. Takes precedence over resolution and aspect_ratio, and sets the GIF frame size.
Number of GIF frames, 2-64. Only read when output_format is gif; defaults to 9.
2 <= x <= 64Duration of each GIF frame in milliseconds, 20-2000. Only read when output_format is gif; defaults to 200.
20 <= x <= 2000Compression level 0-100 for jpeg and webp output. Not supported by gif or svg.
0 <= x <= 100Was this page helpful?