Use Flare to iterate on illustrations and product visuals. API guide · NewRouters Images API
/v1/tasksMODELgpt-image-2.6-flareCode examples & responses
/v1/taskscurl "https://newrouters.com/v1/tasks" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "gpt-image-2.6-flare",
"input": {
"prompt": "A blue ball bounces against a white background in a smooth loop.",
"size": "auto",
"quality": "low",
"output_format": "gif"
}
}'const apiBaseUrl = "https://newrouters.com";
const apiKey = process.env.API_KEY;
if (!apiKey) throw new Error("Set API_KEY in your server environment");
const response = await fetch(apiBaseUrl + "/v1/tasks", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer " + apiKey
},
body: JSON.stringify({
"model": "gpt-image-2.6-flare",
"input": {
"prompt": "A blue ball bounces against a white background in a smooth loop.",
"size": "auto",
"quality": "low",
"output_format": "gif",
"resolution": "2k"
}
})
});
const result = await response.json();
if (!response.ok) throw new Error(JSON.stringify(result));
console.log(result);import json
import os
from urllib.request import Request, urlopen
api_base_url = "https://newrouters.com"
api_key = os.environ["API_KEY"]
body = json.loads("{\"model\":\"gpt-image-2.6-flare\",\"input\":{\"prompt\":\"A blue ball bounces against a white background in a smooth loop.\",\"size\":\"auto\",\"quality\":\"low\",\"output_format\":\"gif\",\"resolution\":\"2k\"}}")
request = Request(
api_base_url + "/v1/tasks",
data=json.dumps(body).encode("utf-8"),
headers={
"Content-Type": "application/json",
"Authorization": "Bearer " + api_key
},
method="POST",
)
with urlopen(request) as response:
print(json.load(response))The API origin is filled in. Set API_KEY before running. Examples never submit automatically.
202Task accepted
{
"id": "TASK_ID",
"status": "pending",
"model": "gpt-image-2.6-flare",
"result": null,
"error": null
}200Successful result
{
"id": "TASK_ID",
"status": "succeeded",
"model": "gpt-image-2.6-flare",
"result": {
"assets": [
"https://example.com/output.png"
]
},
"error": null
}- Create a task01
POST /v1/tasksSubmit model + input. Save the returned task id.
202 · pending - Poll status02
GET /v1/tasks/{id}Wait and poll again while pending or processing.
Wait → poll again - Read the outcome03
result.assets[] / errorRead the result for the terminal task state.
succeeded→ assetsfailed→ error
Use Flare to iterate on illustrations and product visuals. Use the NewRouters model ID gpt-image-2.6-flare.
Text to image · Reference image edits
Generations support JPEG, PNG, WebP and animated GIF. Use automatic sizing for GIF generation. The live sample returned nine frames at 200 ms per frame. Custom timing and frame counts are unverified.
curl "https://newrouters.com/v1/tasks" \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ --data '{ "model": "gpt-image-2.6-flare", "input": { "prompt": "A blue ball bounces against a white background in a smooth loop.", "size": "auto", "quality": "low", "output_format": "gif" }}'Save the task ID and poll GET /v1/tasks/{id} with the same key. On success, download the file from result.assets.
Token pricing
Section titled “Token pricing”The default rate and price group 24 charge for actual usage at 60% of OpenAI standard pricing. Other groups use their account price card.
| Per million tokens | OpenAI (USD) | NewRouters (credits) |
|---|---|---|
| Text input | 5 | 300 |
| Cached text input | 1.25 | 75 |
| Image input | 8 | 480 |
| Cached image input | 2 | 120 |
| Image output | 30 | 1800 |