models

OpenAI: GPT-5 Image

Markdown · JSON

OpenAI: GPT-5 Image

GPT-5 Image OpenAI компаниясының GPT-5 тілдік және пайымдау мүмкіндіктерін сурет жасауға және референстерге сүйеніп өңдеуге арналған GPT Image 1 моделімен біріктіреді. Профиль мәтін, сурет және құжаттарды қабылдап, мәтін мен суреттерді қайтарады, осылайша жазбаша тапсырманы көрнекі нәтижемен байланыстырады.

Модель туралы

Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.

GPT-5 Image — OpenAI компаниясының GPT-5 тілдік моделін GPT Image 1 моделімен біріктіретін құрамдас профиль. Тілдік бөлік талаптар мен бастапқы материалды түсіндіреді, ал сурет бөлігі көрнекі нәтиже жасайды. Жарияланған сипаттамада пайымдау, нұсқауларды орындау, суретте мәтін бейнелеу және суреттерді егжей-тегжейлі өңдеу ерекшеленеді. Профиль көрнекі материал мен оның жазбаша түсіндірмесі бір тапсырмаға сай болуы тиіс жұмыстарға жарайды.

Тапсырманы түсіндіріп, көрнекі материал жасаңыз

Модельге суреттің мақсатын, көзделген аудиторияны және міндетті мазмұнын беріңіз. Дәл көрсетілуі тиіс фактілерді композиция немесе көрнекі стиль таңдауынан ажыратыңыз. Сызба тапсырмасында нысандар мен байланыстарды атап, содан кейін жазуларды, орналасуды және стильді белгілеуге болады. Плакат тапсырмасында іс-шара деректерін, иерархияны және көріністі анықтап, суретке кіретін нақты сөздерді беруге болады.

Мысалы, көпшілікке арналған ғылыми іс-шара плакатының тұжырымдамасын дайындаңыз. Іс-шара фактілерін беріп, орналасуын қысқаша түсіндіруді және анық тақырыбы мен оны толықтыратын көрнекі элементтері бар сурет жасауды сұраңыз. Қай сөздер суретте, ал қайсысы тек ілеспе сипаттамада болуы керегін көрсетіңіз. Жазбаша түсіндірме мен жасалған плакатты бірге тексеріп, қисынды орналасу жоспарын нақты көрінетін нәтижемен салыстырыңыз.

Мәтін, суреттер және PDF сияқты файлдар құрамдас профильдің құжатталған кірістері болып саналады. Құжат көрнекі материал талаптарын немесе жинақталатын ақпаратты бере алады. Референс суреттер нысанды, тауарды, орынды немесе орналасуды айқындай алады. Нәтижені сипаттаудан бұрын әр дереккөзді атап, оның рөлін түсіндіріңіз, әсіресе референсте сақталатын да, өзгертілетін де мазмұн болса.

Референстерге сүйеніп өңдеу және мәтін бейнелеу

Түзету үшін бастапқы суретті көрсетіп, сұралған өзгерісті дәл сипаттаңыз. Тауар көрінісін өңдегенде заттың пішіні мен көрінетін таңбаларын сақтап, ортасын өзгертуге болады. Көрнекі түсіндірмеде айналадағы байланыстарды сақтап, бір элементті ауыстыруға болады. Сақтау талаптарын тапсырмада көрсетіп, маңызды бөлшектерді нақты суреттен тексеріңіз.

Дәл осы құрамдас профильдің карточкасы өңдеу үшін он алтыға дейін референс суретке рұқсат береді. Тапсырмаға қатысты референстерді ғана қолданып, әрқайсысы қандай белгілер беретінін түсіндіріңіз. Бірнеше суреттің жарығы, қарау бұрышы немесе көрнекі стилі әртүрлі болса, әр дереккөзді нәтижеде басым етуді сұраудың орнына көзделген композицияны атаңыз. Кейінгі түзету сол материалға сүйене алуы үшін дереккөздерді дайын суретпен бірге сақтаңыз.

Жарияланған профиль мәтінді суретте бейнелеуді өз мүмкіндіктеріне қосады. Маңызды мәтіннің нақты сөздерін, тыныс белгілерін және орнын беріп, оның нысандармен немесе басқа жазулармен байланысын көрсетіңіз. Қайтарылған суреттегі әр міндетті сөз бен санды көзделген көрсету өлшемінде тексеріңіз. Сызбадағы сызықтар, орындар және топтар жазбаша дереккөзде сипатталған байланысты білдіретінін де тексеріңіз.

Контекст және жауап пішімі

Құрамдас профиль 400 000 токендік контекст терезесін және 128 000 токенге дейінгі аяқтау көлемін жариялайды. Бұл көлемдер белгілі бір пиксель өлшемін немесе сурет санын емес, кіріс пен жасалған аяқтауды сипаттайды. Контексті қажетті талаптарға, референстерге және әңгіме күйіне пайдаланып, сұралған шығысқа орын қалдырыңыз. Модель әр нұсқауды тиісті үзіндімен байланыстыра алуы үшін ұзын бастапқы материалды белгілеңіз.

Құжатталған мәтіндік шығыс спецификациясы JSON схемасы арқылы құрылымды нәтижелерді қолдайды. Жазбаша жауап тұжырымдаманы сипаттауға, талапты жинақтауға немесе сұралған өзгерісті белгілеуге арналған өрістерді анықтай алады. Қолданба оларды пайдаланғанға дейін өрістер мен мәндерді дереккөзге салыстырып тексеріңіз. Аталған тілдік және сурет бөліктері көрнекі генерацияны іштей орындағанымен, құрамдас профиль қолданба функцияларын шақыруды ұсынбайды.

Чат сұрауының схемасы мәтін мен суретті шығыс модальдықтары ретінде таңдауға мүмкіндік береді. Тапсырмада нақты жазбаша және көрнекі нәтижелерді атап, аяқталған жауапта екеуінің де барын тексеріңіз. Сурет баптаулары нақты модель мен интерфейске тән. Қабылданған баптауларды сұраумен бірге сақтап, тек осы құрамдас профиль үшін құжатталған басқару параметрлерін қолданыңыз; сурет бөлігіне тікелей жүгіну интерфейсінің өрістері мен мүмкіндіктері басқаша болуы мүмкін.

Аталған құрамды саналы таңдаңыз

Бұл профильдің сурет бөлігі — GPT Image 1. Оның тікелей сурет жасау профилі суретке бағытталған жұмыстарды орындайды, ал GPT-5 Image осы мүмкіндікті GPT-5 тілдік өңдеуімен біріктіреді. GPT-5 Image Mini — GPT-5 Mini және GPT Image 1 Mini модельдерінің бөлек үйлесімі. Ұқсас атаулы үйлесімдерді бір модель деп қарастырмай, таңдалған профильдің сәйкестендіру деректерін бастапқы материалмен және шығыс баптауларымен бірге сақтаңыз.

Бірнеше түзетуі бар әңгімеде қажетті жазбаша талаптар мен бастапқы референстерді келесі қадамға жеткізіңіз. Ең жаңа тапсырмада жазуды жылжыту, нысанды өзгерту немесе композицияны оңайлату сияқты нақты түзетуді атаңыз. Пайдалы өзгеріс қайтарылған материалдан көрініп тұрса, бәрін жақсарту туралы бағытсыз өтініштен аулақ болыңыз.

Дайын нәтижені сақтап, тексеріңіз

Жазбаша жауапты және аяқтауда берілген әр нақты сурет файлын сақтаңыз. Суреттерді көрсетілген пішімінде, тапсырма мәтінімен, бастапқы референстермен және таңдалған баптаулармен бірге сақтаңыз. Композицияны, нысан бөлшектерін және мәтінді суреттің өзінен тексеріп, ілеспе мәтінді ол сипаттайтын деректермен салыстырыңыз. Пайдалы дайын нәтиже жазбаша талаптарды ашуға, тексеруге және қажетті құжатқа, бетке немесе шығармашылық жұмысқа орналастыруға болатын көрнекі материалмен байланыстырады.

Практикалық тапсырма

Практикалық тапсырма

Ағылшын тіліндегі техникалық мысал

Simplify a community-event poster

Edit the supplied community science poster. Preserve the exact event title, date, venue and central telescope illustration. Remove the small decorative stars around the footer, increase the empty space around the title and keep the original portrait layout and two-color palette. Add no new event facts or text. Return the revised poster image.

Күтілетін нәтиже

A revised poster image retaining all event wording and the telescope while simplifying the requested areas.

Нәтижені тексеру

Check every event word and number against the source and confirm that only the named decorative elements were removed.
Ailoot Ultra · OpenAI чаты POST /v1/chat/completions openai/gpt-5-image

openai/gpt-5-image

OpenAI /openai/gpt-5-image

Бастау

GPT-5 Image OpenAI компаниясының GPT-5 тілдік және пайымдау мүмкіндіктерін сурет жасауға және референстерге сүйеніп өңдеуге арналған GPT Image 1 моделімен біріктіреді. Профиль мәтін, сурет және құжаттарды қабылдап, мәтін мен суреттерді қайтарады, осылайша жазбаша тапсырманы көрнекі нәтижемен байланыстырады.

Қабылданатын кіріс деректері
Мәтін
Нәтижелер
Мәтін

Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

Ailoot Ultra · OpenAI чаты POST /v1/chat/completions
Кіріс
text
Шығыс
text
Шығыс пішімі
json немесе SSE
ӨрісТүріТалапМәндер мен шектеулерӘдепкі
ӨрісmodelТүріstringТалапМіндеттіМәндер мен шектеулер
openai/gpt-5-image
Әдепкі—
ӨрісmessagesТүріmessage[]ТалапМіндеттіМәндер мен шектеулер
Элементтердің ең аз саны: 1
Әдепкі—
Өрісmessages[].roleТүріstringТалапМіндеттіМәндер мен шектеулер
Мысалдар: system, user, assistant, tool, function
Шарттар: Бұл рөлдер бастапқы кодтағы үйлесімділік түрлерінде айқын көрсетілген; рөлдердің нақты жиыны әр модельге байланысты.
Модельге байланысты
Әдепкі—
Өрісmessages[].contentТүріstring|content_part[]|nullТалапМіндетті емесМәндер мен шектеулерӘдепкі—
Өрісmessages[].tool_callsТүріtool_call[]ТалапМіндетті емесМәндер мен шектеулерӘдепкі—
Өрісmessages[].tool_call_idТүріstringТалапМіндетті емесМәндер мен шектеулер
Мына жағдайда қолданылады: role=tool; нақты қайтарылған ID мәнін пайдаланыңыз
Әдепкі—
Өрісmessages[].nameТүріstringТалапМіндетті емесМәндер мен шектеулерӘдепкі—
Өрісmessages[].reasoning_contentТүріstringТалапМіндетті емесМәндер мен шектеулер
Мына жағдайда қолданылады: Модель пайымдауды пайдаланса, нақты қайтарылған пайымдауды қайта жіберіңіз
Әдепкі—
Өрісmessages[].reasoning_detailsТүріobject|arrayТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
Өрісmax_tokensТүріintegerТалапМіндетті емесМәндер мен шектеулер
Ең азы: 1
Модельге байланысты
Әдепкі—
Өрісmax_completion_tokensТүріintegerТалапМіндетті емесМәндер мен шектеулер
Ең азы: 1
Модельге байланысты
Әдепкі—
ӨрісstreamТүріbooleanТалапМіндетті емесМәндер мен шектеулерӘдепкіfalse
Өрісstream_options.include_usageТүріbooleanТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
ӨрісtemperatureТүріnumberТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
Өрісtop_pТүріnumberТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
ӨрісstopТүріstring|string[]ТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
ӨрісtoolsТүріfunction_tool[]ТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
Өрісtools[].typeТүріstringТалапМіндетті емесМәндер мен шектеулер
function
Модельге байланысты
Әдепкі—
Өрісtools[].function.nameТүріstringТалапМіндеттіМәндер мен шектеулер
Мына жағдайда қолданылады: функция құралы берілген
Әдепкі—
Өрісtools[].function.descriptionТүріstringТалапМіндетті емесМәндер мен шектеулерӘдепкі—
Өрісtools[].function.parametersТүріJSON_schemaТалапМіндетті емесМәндер мен шектеулерӘдепкі—
Өрісtool_choiceТүріstring|objectТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
Өрісparallel_tool_callsТүріbooleanТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
Өрісresponse_formatТүріobjectТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
Өрісreasoning_effortТүріstringТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
ӨрісreasoningТүріobjectТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
Өрісservice_tierТүріstringТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
ӨрісinstructionsТүріstringТалапМіндетті емесМәндер мен шектеулер
Үйлесімділік өрісі
Әдепкі—
ӨрісfunctionsТүріfunction[]ТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
Өрісfunction_callТүріstring|objectТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
Өрісprompt_cache_optionsТүріobjectТалапМіндетті емесМәндер мен шектеулер
Модельге байланысты
Әдепкі—
ӨрісmodalitiesТүріstring[]ТалапМіндетті емесМәндер мен шектеулер
text
Әдепкі—
ӨрісproviderТүріobjectТалапМіндетті емесМәндер мен шектеулер
Шарттар: Осы Ultra мәтіндік бағытында provider.options қабылданбайды
Әдепкі—
Өрісcache_control.ttlТүріstringТалапМіндетті емесМәндер мен шектеулер
Шарттар: Сұрау кэшінің нақты орындарында 1h қабылданбайды
Әдепкі—
Кіріс материалдарының үйлесімдері

Мәтін · UTF8 мәтіні

messages[].content

Әдіс параметрлері мен өмірлік циклі
ПараметрПараметр талаптары
Параметрcontent_typeПараметр талаптарыapplication/json
ПараметрrequiredПараметр талаптарыmodel, messages
Параметрmaterial_typesПараметр талаптарыtext
ПараметрmessagesПараметр талаптарыrole/content құрылымы бар хабарламалар жиымы
Параметрfile_materialПараметр талаптарынақты UTF-8 құжаты сөзбе-сөз мәтін ретінде енгізіледі; файл ID-і болжанбайды
Параметрoptional_controlsПараметр талаптарыstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Параметрcontrol_scopeПараметр талаптарымодельге байланысты; пайдаланушының функция құралдары қызмет жағында орындалатын құралдардан өзгеше
Параметрoutput_modalitiesПараметр талаптарыtext
Параметрhosted_operationsПараметр талаптарыfalse
Параметрmultimodal_input_bindingПараметр талаптарыnull

Өмірлік цикл: synchronous_or_streamed

Модельдің дәл ID мәнін messages деректерімен бірге жіберіңіз.

Контекст ұзындығы шығыстың жоғарғы шегі емес.

Мәтіндік файл сөзбе-сөз мәтінді бере алады; кіріс суреттері, аудио және файл нысандары дәл байланыстыруды қажет етеді.

Тарифтер

Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.

Жылдам режим
Стандартты тариф Жылдам режим таңдалғанда
Икемді режим
Стандартты тариф flex режимі таңдалғанда
Ой қорытудың ең жоғары деңгейі
Стандартты тариф Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда

Ailoot мөлшерлемелері

Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

БаптауМөлшерлемелер кестесіКонтекст токендерінің саны мынадан көпКонтекст токендерінің саны мынадан аспайды, шегі кіредіТөлем
БаптауТокендердің базалық тарифтеріМөлшерлемелер кестесіНегізгі мөлшерлемеКонтекст токендерінің саны мынадан көп—Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқТөлем
Кіріс · Кіріс токендері $0.02 / 1K токен
Шығыс · Шығыс токендері $0.02 / 1K токен
Кіріс · Кэшті оқу $0.0025 / 1K токен
Кіріс · Кэшке жазу — / 1K токен
Кіріс · Кэшке жазу, 1 сағ — / 1K токен
Шығыс · Шығыс кескін токендері $0.08 / 1K сурет токені
БаптауСұрау ұзындығының 1-деңгейіМөлшерлемелер кестесі—Контекст токендерінің саны мынадан көп0Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқТөлем
Кіріс · Кіріс токендері $0.02 / 1K токен
Шығыс · Шығыс токендері $0.02 / 1K токен
Кіріс · Кэшті оқу $0.0025 / 1K токен
Кіріс · Кэшке жазу — / 1K токен
Кіріс · Кэшке жазу, 1 сағ — / 1K токен

Анықтамалық тариф мәліметтері

Модельдің анықтамалық кестелері әдіс таңдауын, баға есебін не төлемді өзгертпейді. Қолданыстағы төлемдер таңдалған Ailoot әдісінің мөлшерлемелерімен есептеледі.

OpenAI: GPT-5 Image

Баптаулар бойынша бағалар

БаптауТөлемді есептеу шарттарыТөлем
БаптауOpenAI: GPT-5 Image · Әдепкі конфигурацияТөлемді есептеу шарттарыӘдепкі баптауТөлем
Кіріс · Кіріс токендері 0,02 $ / 1K токен
Шығыс · Шығыс токендері 0,02 $ / 1K токен
Шығыс · Шығыс кескін 0,08 $ / 1K токен
Шығыс · Веб-іздеу 0,02 $ әр іздеу үшін
Кіріс · Кэшті оқу 0,0025 $ / 1K токен

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →

Сұрау мысалдары

Ailoot Ultra · OpenAI чаты

curlPython SDKPython ағыны
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/gpt-5-image", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

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/chat/completions \
  -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 json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='openai/gpt-5-image',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='openai/gpt-5-image',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")

Нәтижелерді алу және сақтау

Ailoot Ultra · OpenAI чаты

json немесе SSE

Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Әр жауап нұсқасын оның мазмұнымен, құрал шақыруларымен және пайымдауымен бірге сақтаңыз. SSE өзгерістерін жауап нұсқасы мен құрал индексі бойынша жинап, соңғы аяқталу себебі мен пайдалану деректерін сақтаңыз.

Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері
ӨрісТүрі
Өрісchoices[].indexТүріinteger
Өрісchoices[].message.contentТүріstring|null
Өрісchoices[].message.tool_callsТүріtool_call[]
Өрісchoices[].message.reasoning_contentТүріstring
Өрісchoices[].message.reasoning_detailsТүріobject|array
Өрісchoices[].finish_reasonТүріstring|null
ӨрісusageТүріobject
Қателер және келесі қадамдар
ЖауапШартКелесі қадам
Жауап400 · invalid_request_errorШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қатеКелесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.

Балама атаулар

Модельдердің балама атаулары

Ailoot Ultra openai/gpt-5-image

Әдіс жолдарының балама атаулары

/v1/images

Шақыруға арналған байланысты ID

openai/gpt-5-image

Ailoot Ultra · Суреттер POST /v1/images/generations openai/gpt-5-image

openai/gpt-5-image

OpenAI /openai/gpt-5-image

Бастау

GPT-5 Image OpenAI компаниясының GPT-5 тілдік және пайымдау мүмкіндіктерін сурет жасауға және референстерге сүйеніп өңдеуге арналған GPT Image 1 моделімен біріктіреді. Профиль мәтін, сурет және құжаттарды қабылдап, мәтін мен суреттерді қайтарады, осылайша жазбаша тапсырманы көрнекі нәтижемен байланыстырады.

Қабылданатын кіріс деректері
Мәтін · Суреттер
Нәтижелер
Суреттер

Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

Ailoot Ultra · Суреттер POST /v1/images/generations
Кіріс
text, image
Шығыс
image
ӨрісТүріТалапМәндер мен шектеулерӘдепкі
ӨрісmodelТүріstringТалапМіндеттіМәндер мен шектеулер
openai/gpt-5-image
Әдепкі—
ӨрісpromptТүріstringТалапМіндеттіМәндер мен шектеулер
Ең аз ұзындық: 1
Әдепкі—
Өрісaspect_ratioТүріstringТалапМіндетті емесМәндер мен шектеулер
1:1, 3:2, 2:3, auto
Әдепкі—
ӨрісqualityТүріstringТалапМіндетті емесМәндер мен шектеулер
auto, low, medium, high
Әдепкі—
Өріс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.32768 жасауға дейінгі бағалау

Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →

Сұрау мысалдары

Ailoot Ultra · Суреттер

curl
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-5-image', '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}/content
  • GET /v1/media/assets
  • GET /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 Ultra openai/gpt-5-image

Әдіс жолдарының балама атаулары

/v1/images

Шақыруға арналған байланысты ID

openai/gpt-5-image

Ailoot Ultra · Anthropic хабарламалары POST /v1/messages openai/gpt-5-image

openai/gpt-5-image

OpenAI /openai/gpt-5-image

Бастау

GPT-5 Image OpenAI компаниясының GPT-5 тілдік және пайымдау мүмкіндіктерін сурет жасауға және референстерге сүйеніп өңдеуге арналған GPT Image 1 моделімен біріктіреді. Профиль мәтін, сурет және құжаттарды қабылдап, мәтін мен суреттерді қайтарады, осылайша жазбаша тапсырманы көрнекі нәтижемен байланыстырады.

Қабылданатын кіріс деректері
Мәтін
Нәтижелер
json · sse

Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер

Ailoot Ultra · Anthropic хабарламалары POST /v1/messages
Кіріс
text
Шығыс
json, sse
Шығыс пішімі
JSON немесе SSE
ӨрісТүріТалапМәндер мен шектеулерӘдепкі
ӨрісmodelТүріstringТалапМіндеттіМәндер мен шектеулер
openai/gpt-5-image
Әдепкі—
ӨрісmessagesТүріmessage[]ТалапМіндеттіМәндер мен шектеулерӘдепкі—
Өрісmessages[].roleТүріstringТалапМіндеттіМәндер мен шектеулер
user, assistant
Әдепкі—
Өрісmessages[].contentТүріstringТалапМіндеттіМәндер мен шектеулерӘдепкі—
Өрісmax_tokensТүріintegerТалапМіндеттіМәндер мен шектеулерӘдепкі—
ӨрісstreamТүріbooleanТалапМіндетті емесМәндер мен шектеулерӘдепкіfalse
Кіріс материалдарының үйлесімдері

Мәтін · UTF-8 мәтіні

messages[].content жолы

Әдіс параметрлері мен өмірлік циклі
ПараметрПараметр талаптары
Параметрcontent_typeПараметр талаптарыapplication/json
ПараметрrequiredПараметр талаптарыmodel, messages, max_tokens
Параметрoptional_controlsПараметр талаптарыstream
Параметрmaterial_typesПараметр талаптарыtext
Параметрtext_file_materialПараметр талаптарыНақты UTF-8 құжатын оқып, оның мәтінін көрсетілген кіріс жолына немесе хабарлама мазмұнының жолына қойыңыз.

Өмірлік цикл: synchronous_or_streamed

Тарифтер

Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.

Жылдам режим
Стандартты тариф Жылдам режим таңдалғанда
Икемді режим
Стандартты тариф flex режимі таңдалғанда
Ой қорытудың ең жоғары деңгейі
Стандартты тариф Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда

Ailoot мөлшерлемелері

Баптаулар бойынша бағалар

Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.

БаптауМөлшерлемелер кестесіКонтекст токендерінің саны мынадан көпКонтекст токендерінің саны мынадан аспайды, шегі кіредіТөлем
БаптауТокендердің базалық тарифтеріМөлшерлемелер кестесіНегізгі мөлшерлемеКонтекст токендерінің саны мынадан көп—Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқТөлем
Кіріс · Кіріс токендері $0.02 / 1K токен
Шығыс · Шығыс токендері $0.02 / 1K токен
Кіріс · Кэшті оқу $0.0025 / 1K токен
Кіріс · Кэшке жазу — / 1K токен
Кіріс · Кэшке жазу, 1 сағ — / 1K токен
Шығыс · Шығыс кескін токендері $0.08 / 1K сурет токені
БаптауСұрау ұзындығының 1-деңгейіМөлшерлемелер кестесі—Контекст токендерінің саны мынадан көп0Контекст токендерінің саны мынадан аспайды, шегі кіредіЖоғарғы шегі жоқТөлем
Кіріс · Кіріс токендері $0.02 / 1K токен
Шығыс · Шығыс токендері $0.02 / 1K токен
Кіріс · Кэшті оқу $0.0025 / 1K токен
Кіріс · Кэшке жазу — / 1K токен
Кіріс · Кэшке жазу, 1 сағ — / 1K токен

Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →

Сұрау мысалдары

Ailoot Ultra · Anthropic хабарламалары

Ең ықшам толық JSON сұрау денесіcurl · өзіңіздің UTF-8 құжатыңызды қолданыңызPython · нәтижені толық сақтаңыз
{
  "model": "openai/gpt-5-image",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'openai/gpt-5-image', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'openai/gpt-5-image', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

Нәтижелерді алу және сақтау

Ailoot Ultra · Anthropic хабарламалары

JSON немесе SSE

Барлық дайын нәтижені сақтау

Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.

Барлық мазмұн блоктарын, пайымдау қолтаңбаларын және құрал қолданудың нақты ID мәндерін сақтаңыз. SSE блоктарының барлық өзгерістерін жинаңыз; алғашқы мәтіндік блок толық шығыс емес.

Бастапқы жауапты тексеру қажет болса

Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.

Жауап өрістері
ӨрісТүрі
ӨрісidТүріstring
ӨрісmodelТүріstring
Өрісcontent[]Түріtext|thinking|tool_use|other content block
Өрісstop_reasonТүріstring|null
ӨрісusageТүріobject
Қателер және келесі қадамдар
ЖауапШартКелесі қадам
Жауап400 · invalid_request_errorШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қатеКелесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз.

Балама атаулар

Модельдердің балама атаулары

Ailoot Ultra openai/gpt-5-image

Әдіс жолдарының балама атаулары

/v1/images

Шақыруға арналған байланысты ID

openai/gpt-5-image

FAQ · OpenAI: GPT-5 Image
Қандай кіріс деректері мен нәтижелер қолжетімді?

POST /v1/chat/completions · openai/gpt-5-image: text → text

POST /v1/images/generations · openai/gpt-5-image: text, image → image

POST /v1/messages · openai/gpt-5-image: text → json, sse

Сұрау қандай өрістерді пайдаланады?

POST /v1/chat/completions · openai/gpt-5-image: model, messages, stream, modalities, provider

POST /v1/images/generations · openai/gpt-5-image: model, prompt, aspect_ratio, quality, background, n, input_references, output_compression, provider

POST /v1/messages · openai/gpt-5-image: model, messages, max_tokens, stream

Қандай шектеулер қолданылады?

POST /v1/chat/completions · openai/gpt-5-image: messages.min_items: 1

POST /v1/images/generations · openai/gpt-5-image: n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

Толығырақ

Ailoot-ты Claude Code, OpenCode, Hermes не қолданбаңызға қосыңыз.

Компания және оның жобалар портфелі

Компания және оның жобалар портфелі: миллиондаған клиент; ай сайынғы сату көлемі миллиардтармен есептеледі.

Токенді жеңілдікпен сатып алыңыз.

Тұрақты жұмысқа жазылым жеңілдігі. Токен сатып алуға промокодтар — 50% дейін.

Жазылым
Тұрақты сұрауыңызға жеңілдікті тариф таңдаңыз.
50% дейінгі промокод
Сатып алғанда код енгізіңіз. Баға қазіргі науқанмен қайта есептеледі.
Тарихтағы шығындар
Әр сұрауға модель, токен және сома сақталады.

Жазылым таңдау · Модель бағасын көру

API-ді сататын өніміңізге қосыңыз.

SaaS, қолданба мен бот Ailoot офертасы және лицензиялық шартына сай. Қайта сатуға реселлер лицензиясын сұраңыз.

Коммерциялық қолданба
Қызметіңіздің ақылы функциясына мәтін, сурет, бейне және дыбыс жасауды қосыңыз.
Реселлер лицензиясы
Жоба сипаттамасы мен кіру схемасын жіберіңіз. Пайдалану мен қайта сатуға жазбаша шарт сұраңыз.
Сайттағы құжаттар
Оферта, лицензиялық шарт және дерек саясаты қоспай тұрып қолжетімді.

Реселлер лицензиясын сұрау · Оферта мен лицензиялық шарт