OpenAI: GPT Image 2.5 Flare
GPT Image 2.5 Flare күнделікті жылдам визуалдық жасауға бағытталып, мәтін мен үлгілерден кескіндер жасайды және өңдейді. Ол нобайлар, иллюстрациялар мен науқан материалдары үшін жеке өлшемдерді, мөлдір фонды, маскаларды және max деңгейіне дейінгі сапаны қолдайды.
- Ailoot · Суреттер
POST /v1/images/generationsgpt-image-2.5-flare - Ailoot Ultra · Суреттер
POST /v1/images/generationsgpt-image-2.5-flare - Ailoot Ultra · Суреттер
POST /v1/images/generationsopenai/gpt-image-2.5-flare
Модель туралы
Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.
GPT Image 2.5 Flare — OpenAI компаниясының күнделікті жылдам әрі сапалы жұмысқа арналған кескін генерациялау және өңдеу нұсқасы. Ол мәтін мен кескіндерді қабылдап, кескін нәтижелерін қайтарады. Тапсырма жедел пайдаланылатын кескінге айналуы тиіс визуалдық нобайлар, иллюстрациялар, тауар тұжырымдамалары мен қайталанатын шығармашылық жұмыстар үшін оны пайдаланыңыз. Flare өңдеу дәлдігіне басымдық беретін Sunburst нұсқасынан бөлек. Күнделікті кескін жасау үшін Flare, дәл өңдеу басым болса Sunburst таңдаңыз.
Негізгі нысаннан, әрекеттен, ортадан, композиция мен визуалдық өңдеуден бастаңыз. Науқан иллюстрациясы үшін жылы кешкі жарықта шағын көпірден өтіп бара жатқан велосипедшіні, айқын сұлба мен кейінгі мәтінге ашық аспанды сұраңыз. Ықшам ізденіс тапсырмасы эстетикалық шешімдерді ашық қалдыра алады; өндірістік тапсырма маңызды бөлшектер мен орынды атауы тиіс. Тікелей генерация және өңдеу үдерістері 32 000 таңбаға дейінгі сұрау мен бірден онға дейін нәтижеге рұқсат етеді, сондықтан бірнеше нұсқаны бір мақсатпен салыстыру пайдалы.
Өңдеуге он алтыға дейін үлгі кескін беруге болады. Модель кескін нысан сәйкестігін, ортаны не стильді білдіретінін өзі шешеді деп күтпей, әр үлгіге анық рөл беріңіз. Маска аймақтағы өзгерісті бағыттай алады; бірнеше кескінде ол біріншісіне қолданылады. Кескін мен масканың пішімі мен өлшемдері сәйкес болуы, ал маскада альфа-арна болуы керек. Нұсқаулық түпнұсқа мен масканың 50 МБ-тан кіші болуын талап етеді. Маска — дәл шекара сақталуына уәде емес, бағыттау құралы, сондықтан қажетті өзгерісті де, танылатын күйде қалуы тиіс нәрсені де көрсетіңіз.
Flare low, medium, high, xhigh, max және автоматты сапаны қолдайды, әдепкісі auto. Төмен сапа жылдам визуалдық нобайға жарайды; соңғы материал бөлшектері үшін жоғары параметрлерді салыстыруға болады. Сапа өлшем мен нәтиже сығуынан тәуелсіз. Стандартты өлшемдерге 1024 × 1024, 1536 × 1024 және 1024 × 1536 кіреді; автоматты немесе жеке өлшемдер де қолжетімді. Бағытты соңғы орналасу мен көріністегі пайдалы кеңістікке қарай таңдаңыз.
Жеке ен мен биіктік он алтыға еселік болып, екі жағы да 3840 пиксельден аспауы тиіс. Рұқсат етілген арақатынас 1:3-тен 3:1-ге дейін, ал жалпы аудан кемінде 655 360 және ең көбі 8 294 400 пиксель болуы керек. Төрт шарт бірге қолданылады. Нұсқаулық 2560 × 1440 өлшемінен жоғары ажыратымдылықтарды эксперименттік деп атайды. Ірі ажыратымдылықты автоматты орналасу жақсаруы деп санамай, композицияға сай жарамды кадрды қолданып, қиылуға сезімтал бөлшектерді тапсырмаға қосыңыз.
Нәтиже пішімі әдепкіде PNG, баламалары — JPEG және WebP. JPEG пен WebP 0-ден 100-ге дейінгі сығуға рұқсат етеді. Мөлдір фон үшін PNG немесе WebP таңдаңыз; мөлдір емес және автоматты фондар да қолдау табады. Мөлдір материалды кейінгі макетке орналастыруға болады, ал мөлдір емес кескін өз фонын қамтиды. Пішім, фон және сығуды нақты жеткізу қажеттілігіне сай таңдап, аяқталған файлды тапсырмасы және таңдалған параметрлерімен бірге сақтаңыз.
Өндіруші тікелей кескін генерациясы мен өңдеуді, сондай-ақ таңдалған нәтижелерді кейінгі өзгерістерге сақтай алатын диалогтық кескін құралын құжаттайды. Бұл үдерісте контексте кескін болса, әрекет автоматты, мәжбүрлі генерация немесе мәжбүрлі өңдеу бола алады. Ағындық жеткізу соңғы нәтижеге дейін үшке дейін жартылай кескін көрсете алады. Бұл алдын ала көріністер қосымша дайын материал емес, ілгерілеуді көрсетеді. Итерациялық жұмыста таңдалған кескіннен жалғастырып, бір нысанды жылжыту немесе түс өңдеуін реттеу сияқты көрінетін өзгерісті сипаттаңыз. Өндіруші интерфейсі пакеттік өңдеуді де қолдайды.
Кескіннің жазуларын, заттардың орнын, нысан бөлшектері мен композициясын жоспарланған өлшемде тексеріңіз. GPT Image нақты мәтін орналастыруда, құрылымды макеттерде және генерациялар арасында қайталанатын визуалдық сәйкестікте әлі қиналуы мүмкін. Қабылданған нұсқаны келесі үлгі ретінде сақтап, кейінгі өңдеуді маңызды мәселемен шектеңіз. Flare нұсқасының күнделікті генерация рөлі тапсырма, визуалдық баламалар, таңдау және жетілдірудің анық тізбегіне пайдалы; соңғы материал нақты шығармашылық мақсатпен бағаланады.
Ailoot · Суреттер POST /v1/images/generations gpt-image-2.5-flare
gpt-image-2.5-flareБастау
GPT Image 2.5 Flare күнделікті жылдам визуалдық жасауға бағытталып, мәтін мен үлгілерден кескіндер жасайды және өңдейді. Ол нобайлар, иллюстрациялар мен науқан материалдары үшін жеке өлшемдерді, мөлдір фонды, маскаларды және max деңгейіне дейінгі сапаны қолдайды.
- Қабылданатын кіріс деректері
- Мәтін
- Нәтижелер
- Суреттер
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot · Суреттер POST /v1/images/generations
- Кіріс
text- Шығыс
image- Шығыс пішімі
- Сурет файлы
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер gpt-image-2.5-flare | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
Өрісn | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 | Әдепкі1 |
Өрісresponse_format | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер url, b64_json | Әдепкі— |
Өрісstream | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
Өрісsize | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісquality | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісbackground | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісoutput_format | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісoutput_compression | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісmoderation | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісinput_fidelity | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісstyle | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісpartial_images | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Кіріс материалдарының үйлесімдері
Мәтіннен сурет жасау · Міндетті: prompt
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрmaterial_types | Параметр талаптарыtext |
Параметрrequired | Параметр талаптарыmodel, prompt |
Параметрoptional_controls | Параметр талаптарыnull |
Параметрcontent_type | Параметр талаптарыapplication/json |
Өмірлік цикл: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Нақты қайтарылған task_id немесе медиатека жазбасы
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.
Тарифтер
Ailoot әдістерінің мөлшерлемелері
POST /v1/images/generations- Мәтіндік кіріс
- 0,005 $ / 1K
- Кіріс, сурет
- 0,008 $ / 1K tokens
- Шығыс, сурет
- 0,03 $ / 1K tokens
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot · Суреттер
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
export AILOOT_API_KEY
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 image brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-image-2.5-flare", "prompt": ""}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Set your actual UTF-8 image brief file")
request={'model': 'gpt-image-2.5-flare', 'prompt': ''}
request["prompt"]=f.read_text(encoding="utf-8")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "gpt-image-2.5-flare", "prompt": ""};
if(!process.env.AILOOT_PROMPT_FILE)throw new Error("Set your actual UTF-8 image brief file");
request.prompt=readFileSync(process.env.AILOOT_PROMPT_FILE,"utf8");
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
if(!encoded && uri.startsWith("data:image/")) {
const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
encoded=uri.slice(comma+1);
}
if(encoded) {
if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
raw=Buffer.from(encoded,"base64");
} else if(uri) {
const u=new URL(uri,"https://api.ailoot.ai");
if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
if(!response.ok) throw new Error("Image content download failed: "+response.status);
raw=Buffer.from(await response.arrayBuffer());
} else throw new Error("Image has neither bytes nor URL");
if(!raw.length) throw new Error("Empty image result");
const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");
Нәтижелерді алу және сақтау
Ailoot · Суреттер
Қайтарылған әр суретті жүктеп алыңыз немесе оның Base64 мазмұнын сақтаңыз
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Барлық дайын нәтижені сақтау
Әр дайын суретті сақтаңыз; қайтарылған әр URL арқылы мазмұнды алыңыз немесе оның Base64 мазмұнын декодтаңыз.
Әрбір дерек элементін сақтаңыз. Әрбір b64_json мәнін декодтаңыз немесе қайтарылған әрбір қолтаңбаланған URL мекенжайынан жүктеп алыңыз. Файл атауының кеңейтімін нақты MIME түріне/байттарға қарап таңдаңыз.
Бастапқы жауапты тексеру қажет болса
Кескінді генерациялау немесе өңдеу нәтижесін тексеру қажет болса, бастапқы operation_id/X-Client-Request-ID мәнін және қайтарылған нәтиже туралы ақпаратты сақтаңыз. Нақты task_id немесе asset_id мәндерін қолданып, өзіңізге тиесілі бұрыннан бар нәтижелерді медиатека арқылы қалпына келтіріңіз. Генерациялау/өңдеу сұрауын қайта жібермеңіз және operation_id мәнінен күйді сұратуға арналған URL мекенжайын құрастырмаңыз.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісcreated | Түріinteger |
Өрісdata[].url | Түріstring |
Өрісdata[].b64_json | Түріbase64 string |
Өрісusage | Түріobject |
Қателер және келесі қадамдар
| Жауап | Шарт | Келесі қадам |
|---|---|---|
Жауап400 · invalid_request_error | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
Жауапserver_error | ШартҚайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген | Келесі қадамБастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз. |
Балама атаулар
Модельдердің балама атаулары
Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare
Әдіс жолдарының балама атаулары
/v1/images
Шақыруға арналған байланысты ID
openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare
Ailoot Ultra · Суреттер POST /v1/images/generations gpt-image-2.5-flare
gpt-image-2.5-flaregpt-image-2.5-flareopenai/gpt-image-2.5-flare
Бастау
GPT Image 2.5 Flare күнделікті жылдам визуалдық жасауға бағытталып, мәтін мен үлгілерден кескіндер жасайды және өңдейді. Ол нобайлар, иллюстрациялар мен науқан материалдары үшін жеке өлшемдерді, мөлдір фонды, маскаларды және max деңгейіне дейінгі сапаны қолдайды.
- Қабылданатын кіріс деректері
- Мәтін
- Нәтижелер
- Суреттер
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot Ultra · Суреттер POST /v1/images/generations
- Кіріс
text- Шығыс
image
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер gpt-image-2.5-flare | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Ең үлкен ұзындық: 32 000 | Әдепкі— |
Өрісsize | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Шарттар: auto немесе екі өлшемі де 16 санына бөлінетін WIDTHxHEIGHT мәнін пайдаланыңыз. Ең ұзын жағы 3,840 пиксельден, ал жалпы өлшемі 8,300,000 пиксельден аспауы керек. | Әдепкіauto |
Өрісbackground | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер transparent, opaque, auto | Әдепкіauto |
Өрісmoderation | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер low, auto Шарттар: Мазмұнның стандартты модерациясы үшін auto қолданыңыз. | Әдепкі— |
Өрісn | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Ең көбі: 10 | Әдепкі1 |
Өрісquality | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер auto, high, medium, low | Әдепкіauto |
Өрісoutput_compression | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 0 Ең көбі: 100 Шарттар: JPEG және WebP шығысына қолданылады; құжатталған бүтін сан мәнін жіберіңіз. | Әдепкі100 |
Өрісoutput_format | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер webp, png, jpeg | Әдепкіpng |
Өрісstream | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер false Шарттар: Бұл маршрут бір толық аяқталған JSON жауабын қайтарады. | Әдепкіfalse |
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрcontent_type | Параметр талаптарыapplication/json |
Параметрrequired | Параметр талаптарыprompt, model |
Параметрmaterial_types | Параметр талаптарыtext |
Параметрoptional | Параметр талаптарыsize, background, moderation, n, quality, output_compression, output_format, stream |
Параметрconditions | Параметр талаптарыМөлдір фон үшін PNG немесе WebP қажет., Шығысты сығу JPEG немесе WebP үшін қолданылады., Таңдалған әдіс мәтіннен генерация жасайды. Өндіруші сипаттаған өңдеу және ағынмен беру параметрлері бөлек мүмкіндіктерге жатады. |
Өмірлік цикл: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Нақты қайтарылған task_id немесе медиатека жазбасы
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Тарифтер
Қорытынды төлем қалай есептеледі
Көрсетілген тарифтер генерация басталғанға дейінгі құнын бағалауға арналған. Соңғы төлем бастапқы генерация үшін тіркелген құннан есептеледі. Нәтиженің өлшенген ұзақтығы мен болжамды көлемдер төлемге негіз болатын түпкілікті көлем болып саналмайды.
Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.
- Жылдам режим
- Көрсетілмеген Жылдам режим таңдалғанда
- Икемді режим
- Көрсетілмеген flex режимі таңдалғанда
- Ой қорытудың ең жоғары деңгейі
- Көрсетілмеген Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда
Салыстыруға арналған болжамды мөлшерлемелер
Баптаулар бойынша бағалар
Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.
| Баптау | Мөлшерлемелер кестесі | Болжамды мөлшер | Төлем |
|---|---|---|---|
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Болжамды мөлшер— | Төлем Кіріс · Кіріс токендері · Тек салыстыруға арналған бағалау — / 1K токен Шығыс · Шығыс токендері · Тек салыстыруға арналған бағалау — / 1K токен Кіріс · Кэшті оқу · Тек салыстыруға арналған бағалау — / 1K токен Кіріс · Кэшке жазу · Тек салыстыруға арналған бағалау — / 1K токен Кіріс · Кэшке жазу, 1 сағ · Тек салыстыруға арналған бағалау — / 1K токен |
| БаптауГенерацияның болжамды құны | Мөлшерлемелер кестесі— | Болжамды мөлшербір генерацияға арналған болжам | Төлем Шығыс · Генерацияның болжамды құны · Тек салыстыруға арналған бағалау $0.24576 жасауға дейінгі бағалау Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес. |
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot Ultra · Суреттер
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-2.5-flare', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Нәтижелерді алу және сақтау
Ailoot Ultra · Суреттер
Қайтарылған әр суретті жүктеп алыңыз немесе оның Base64 мазмұнын сақтаңыз
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Басқа мазмұнды оқу
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Барлық дайын нәтижені сақтау
Әр дайын суретті сақтаңыз; қайтарылған әр URL арқылы мазмұнды алыңыз немесе оның Base64 мазмұнын декодтаңыз.
Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.
Бастапқы жауапты тексеру қажет болса
Есептерді салыстырып тексеру үшін қайтарылған X-Client-Request-ID мәнін сақтаңыз. Тек нақты қайтарылған task_id/asset_id мәндері арқылы немесе өзіңізге тиесілі медиатекадан оқыңыз; операция ID мәнінен тапсырманың URL мекенжайын ешқашан құрастырмаңыз және жасау сұрауын ешқашан қайта жібермеңіз.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісcreated | Түрі |
Өрісdata[].url | Түрі |
Өрісdata[].b64_json | Түрі |
Өрісusage | Түрі |
Балама атаулар
Модельдердің балама атаулары
Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare
Әдіс жолдарының балама атаулары
/v1/images
Шақыруға арналған байланысты ID
openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare
Ailoot Ultra · Суреттер POST /v1/images/generations openai/gpt-image-2.5-flare
openai/gpt-image-2.5-flaregpt-image-2.5-flareopenai/gpt-image-2.5-flare
Бастау
GPT Image 2.5 Flare күнделікті жылдам визуалдық жасауға бағытталып, мәтін мен үлгілерден кескіндер жасайды және өңдейді. Ол нобайлар, иллюстрациялар мен науқан материалдары үшін жеке өлшемдерді, мөлдір фонды, маскаларды және max деңгейіне дейінгі сапаны қолдайды.
- Қабылданатын кіріс деректері
- Мәтін · Суреттер
- Нәтижелер
- Суреттер
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot Ultra · Суреттер POST /v1/images/generations
- Кіріс
text,image- Шығыс
image
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер openai/gpt-image-2.5-flare | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
Өрісaspect_ratio | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto | Әдепкі— |
Өрісquality | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер auto, low, medium, high, xhigh, max | Әдепкі— |
Өрісbackground | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер auto, transparent, opaque | Әдепкі— |
Өрісn | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Ең көбі: 10 | Әдепкі— |
Өрісinput_references | Түріarray | ТалапМіндетті емес | Мәндер мен шектеулер Элементтердің ең аз саны: 0 Элементтердің ең көп саны: 16 | Әдепкі— |
Өрісoutput_compression | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 0 Ең көбі: 100 | Әдепкі— |
Өрісprovider | Түріobject | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрcontent_type | Параметр талаптарыapplication/json |
Параметрrequired | Параметр талаптарыmodel, prompt |
Параметрmaterial_types | Параметр талаптарыtext, image |
Өмірлік цикл: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Нақты қайтарылған task_id немесе медиатека жазбасы
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Тарифтер
Қорытынды төлем қалай есептеледі
Көрсетілген тарифтер генерация басталғанға дейінгі құнын бағалауға арналған. Соңғы төлем бастапқы генерация үшін тіркелген құннан есептеледі. Нәтиженің өлшенген ұзақтығы мен болжамды көлемдер төлемге негіз болатын түпкілікті көлем болып саналмайды.
Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.
- Жылдам режим
- Көрсетілмеген Жылдам режим таңдалғанда
- Икемді режим
- Көрсетілмеген flex режимі таңдалғанда
- Ой қорытудың ең жоғары деңгейі
- Көрсетілмеген Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда
Салыстыруға арналған болжамды мөлшерлемелер
Баптаулар бойынша бағалар
Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.
| Баптау | Мөлшерлемелер кестесі | Болжамды мөлшер | Төлем |
|---|---|---|---|
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Болжамды мөлшер— | Төлем Кіріс · Кіріс токендері · Тек салыстыруға арналған бағалау — / 1K токен Шығыс · Шығыс токендері · Тек салыстыруға арналған бағалау — / 1K токен Кіріс · Кэшті оқу · Тек салыстыруға арналған бағалау — / 1K токен Кіріс · Кэшке жазу · Тек салыстыруға арналған бағалау — / 1K токен Кіріс · Кэшке жазу, 1 сағ · Тек салыстыруға арналған бағалау — / 1K токен |
| БаптауГенерацияның болжамды құны | Мөлшерлемелер кестесі— | Болжамды мөлшербір генерацияға арналған болжам | Төлем Шығыс · Генерацияның болжамды құны · Тек салыстыруға арналған бағалау $0.24576 жасауға дейінгі бағалау Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес. |
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot Ultra · Суреттер
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'openai/gpt-image-2.5-flare', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Нәтижелерді алу және сақтау
Ailoot Ultra · Суреттер
Қайтарылған әр суретті жүктеп алыңыз немесе оның Base64 мазмұнын сақтаңыз
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Басқа мазмұнды оқу
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Барлық дайын нәтижені сақтау
Әр дайын суретті сақтаңыз; қайтарылған әр URL арқылы мазмұнды алыңыз немесе оның Base64 мазмұнын декодтаңыз.
Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.
Бастапқы жауапты тексеру қажет болса
Есептерді салыстырып тексеру үшін қайтарылған X-Client-Request-ID мәнін сақтаңыз. Тек нақты қайтарылған task_id/asset_id мәндері арқылы немесе өзіңізге тиесілі медиатекадан оқыңыз; операция ID мәнінен тапсырманың URL мекенжайын ешқашан құрастырмаңыз және жасау сұрауын ешқашан қайта жібермеңіз.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісcreated | Түрі |
Өрісdata[].url | Түрі |
Өрісdata[].b64_json | Түрі |
Өрісusage | Түрі |
Балама атаулар
Модельдердің балама атаулары
Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare
Әдіс жолдарының балама атаулары
/v1/images
Шақыруға арналған байланысты ID
openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare
FAQ · OpenAI: GPT Image 2.5 Flare
- Қандай кіріс деректері мен нәтижелер қолжетімді?
POST /v1/images/generations·gpt-image-2.5-flare:text→imagePOST /v1/images/generations·gpt-image-2.5-flare:text→imagePOST /v1/images/generations·openai/gpt-image-2.5-flare:text,image→image- Сұрау қандай өрістерді пайдаланады?
POST /v1/images/generations·gpt-image-2.5-flare:model,prompt,n,response_format,streamPOST /v1/images/generations·gpt-image-2.5-flare:model,prompt,size,background,moderation,n,quality,output_compression,output_format,streamPOST /v1/images/generations·openai/gpt-image-2.5-flare:model,prompt,aspect_ratio,quality,background,n,input_references,output_compression,provider- Қандай шектеулер қолданылады?
POST /v1/images/generations·gpt-image-2.5-flare:n.minimum:1POST /v1/images/generations·gpt-image-2.5-flare:prompt.maximum_length:32000;n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100POST /v1/images/generations·openai/gpt-image-2.5-flare:n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100