OpenAI: GPT-6 Sol
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Ailoot · Anthropic Messages
POST /v1/messagesgpt-6-sol - Ailoot · OpenAI Responses
POST /v1/responsesgpt-6-sol - Ailoot · OpenAI Chat
POST /v1/chat/completionsgpt-6-sol - Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgpt-6-sol - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgpt-6-sol - Ailoot Ultra · OpenAI Responses
POST /v1/responsesgpt-6-sol - Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsopenai/gpt-6-sol - Ailoot Ultra · Anthropic Messages
POST /v1/messagesopenai/gpt-6-sol - Ailoot Ultra · OpenAI Responses
POST /v1/responsesopenai/gpt-6-sol
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
Ishni davom ettirish bilan dasturlash
GPT-6 Sol — murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun OpenAI modeli. U matn va tasvirlarni qabul qiladi va matn qaytaradi. Model alohida javob amalga, amal natijasi esa yangi yechim qadamiga o‘tishi mumkin bo‘lgan ishga mo‘ljallangan.
Uning imkoniyatlari oqimli chiqish, tuzilmali chiqish va funksiya chaqirishni o‘z ichiga oladi. Bu natijaning kerakli shaklini tanlashga imkon beradi: izoh, tayyorlangan matn yoki oldindan belgilangan tuzilmali ma’lumotlar. Vazifa tashqi amalni talab qilganda model taqdim etilgan vositalar to‘plamidan foydalanadi.
Mulohaza va tanlangan format
none, low, medium, high, xhigh va max’ni belgilash mumkin; standart holatda medium ishlatiladi. none qiymati mulohazasiz qayta ishlashni anglatadi. Qolgan darajalar yechish sa’y-harakatini belgilaydi, yakuniy javob hajmi va uslubi esa alohida aniqlanadi.
Mulohaza sa’y-harakatidan alohida ishlab chiqaruvchi oddiy va kengaytirilgan bajarish rejimlarini ko‘zda tutadi. Standart holatda oddiy rejim tanlangan. Kengaytirilgan rejim qiyin topshiriq ustida qo‘shimcha ish bajaradi va ko‘proq vaqt hamda token talab qilishi mumkin. Rejim qayta ishlash usulini, sa’y-harakat darajasi esa uning ichidagi tahlil chuqurligini belgilaydi. Rejim tanlash Responses uchun ko‘zda tutilgan va ilovaning tegishli qo‘llab-quvvatlashini talab qiladi; uning joriy Ailoot metodida mavjudligi alohida tasdiqlanmagan.
Vositali mulohaza uchun Responses mo‘ljallangan. Chat Completions formatida funksiya chaqirish faqat none’da qo‘llab-quvvatlanadi. Bu aniq modelning muhim xususiyati: format va rejim tanlovi bitta jarayonda mulohaza va amallarni birlashtirish mumkinligini belgilaydi.
Materiallar va hajm chegaralari
Ishlab chiqaruvchining kontekst oynasi — 1 050 000 token. Maksimal kirish — 922 000, maksimal chiqish — 128 000 token. Bilimlar davri 2026-yil 20-aprel bilan belgilangan. Tasvirlar kiruvchi materiallarga tegishli; Sol’ning bevosita natijasi matnli bo‘lib qoladi.
Katta so‘rovda boshlang‘ich materiallarni ham, tarixni ham hisobga olish kerak. Ichki mulohaza ham chiqish budjetini egallaydi, shuning uchun chiqish chegarasini xuddi shu uzunlikdagi ko‘rinadigan matn va’dasi deb tushunib bo‘lmaydi. Uzun kontekstni qo‘llab-quvvatlash topshiriq materiallarini bitta ish maydonida saqlashga yordam beradi.
Kod, qidiruv va ulangan funksiyalar
OpenAI internet va fayllarda qidiruv, kod va buyruqlarni bajarish, fayllarni o‘zgartirish, kompyuterdagi amallar va vositalarni qidirishni sanab o‘tadi. Model loyihada izchil ishlash uchun bu funksiyalardan foydalanishi va keyingi qadamni tayyorlashda ularning natijalarini hisobga olishi mumkin.
Tegishli ulanishda ishlab chiqaruvchi alohida tasvir yaratish vositasi, ko‘nikmalar bilan ishlash va MCP orqali tashqi vositalarni ham ko‘zda tutadi. Modelning bevosita javobi matnli bo‘lib qoladi; rasm yaratish natijasini alohida vosita hosil qiladi. Uning ishlab chiqaruvchida mavjudligi bu imkoniyatlar har qanday Ailoot metodida ulanganini anglatmaydi.
Foydalanuvchi funksiyalari uchun ilova tanlangan amal va argumentlarni oladi, uni bajaradi va natijani modelga uzatadi. Bunday almashuvni qo‘llab-quvvatlash har qanday vosita allaqachon ulanganini anglatmaydi. Aniq so‘rovdagi funksiyalar to‘plami tanlangan metod va taqdim etilgan imkoniyatlarga bog‘liq.
So‘rov boshlanishining takrorlanuvchi qismlari keshlashni qo‘llab-quvvatlaydi. Tuzilmali chiqish JSON sxemasi bo‘yicha ma’lumot shaklini belgilaydi; shaklga rioya qilish mazmunni tekshirish o‘rnini bosmaydi. Davomli vazifalarda foydali holatni saqlash va to‘plangan kontekstni qisqartirish usullari ko‘zda tutilgan.
Amaliy vazifa
Amaliy vazifa
Ingliz tilidagi texnik misol
Patch a pagination termination bug
A paginator requests pages with a cursor. Its loop stops only when items is empty, but the service can return a nonempty final page with next_cursor absent. Draft corrected pseudocode preserving every returned item exactly once. Include checks for an empty first page, a full final page without a cursor and two pages with distinct cursors.Kutiladigan natija
Corrected pagination pseudocode and three behavior checks against the stated response cases.Natijani tekshirish
The loop processes the final nonempty page before stopping on its absent next cursor.Ailoot · Anthropic Messages POST /v1/messages gpt-6-sol
gpt-6-solBoshlash
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn · Rasmlar
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot · Anthropic Messages POST /v1/messages
- Kirish
text,image- Chiqish
text- Kontekst
- 1 050 000 tokens
- Eng katta chiqish
- 128 000 tokens
- Chiqish formati
- json yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar gpt-6-sol | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar user, assistant | Standart— |
Maydonmessages[].content | Turstring|content_block[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonsystem | Turstring|content_block[] | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmax_tokens | Turinteger | TalabMajburiy | Qiymatlar va cheklovlar Eng kam: 1 Cheklov qo‘llanadigan obyekt: Tanlangan model yoki kartaning aniq yuqori chegarasi | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Maydontemperature | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontop_p | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonstop_sequences | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools | Turtool[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools[].name | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Vosita taqdim etilgan | Standart— |
Maydontools[].description | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontools[].input_schema | TurJSON_schema | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontool_choice | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonthinking.type | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonthinking.budget_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonoutput_config.effort | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmetadata | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydoncache_control | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Kirish materiallari birikmalari
Matn · UTF8 matni
messages[].content yoki type=text bloki
Matn + rasm
{type:image,source:{type:base64,media_type,data}} yoki type=url turidagi manba
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext, image |
Parametrrequired | Parametr talablarimodel, messages, max_tokens |
Parametroptional_controls | Parametr talablarinull |
Parametrcontent_type | Parametr talablariapplication/json |
Parametrtext_file_material | Parametr talablariHaqiqiy UTF-8 kontenti matn sifatida kiritiladi; fayl IDlari/URLs uchun alohida aniq qo‘llab-quvvatlash kerak |
Hayot sikli: exact retained published method
Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.
Tariflar
Ailoot usullari tariflari
POST /v1/messages- Kirish
- 0,002 US$ / 1K
- Chiqish
- 0,01 US$ / 1K
- Keshdan o‘qish
- 0,0002 US$ / 1K
- Keshga yozish
- 0,0025 US$ / 1K
- Keshga yozish, 5 daqiqa
- 0,0025 US$ / 1K tokens
- fast ko‘paytirgichi
- ×2
- flex ko‘paytirgichi
- ×0.5
So‘rov uzunligiga qarab narxlar · Anthropic Messages
| So‘rov hajmi, tokenlarda | Kirish | Chiqish | Keshdan o‘qish | Keshga yozish | Kesh 5 daqiqa | Kesh 1 soat |
|---|---|---|---|---|---|---|
| So‘rov hajmi, tokenlarda(0; 272 000] | Kirish0,002 US$ | Chiqish0,01 US$ | Keshdan o‘qish0,0002 US$ | Keshga yozish0,0025 US$ | Kesh 5 daqiqa0,0025 US$ | Kesh 1 soatAsosiy: — |
| So‘rov hajmi, tokenlarda(272 000; ∞) | Kirish0,004 US$ | Chiqish0,015 US$ | Keshdan o‘qish0,0004 US$ | Keshga yozish0,005 US$ | Kesh 5 daqiqa0,005 US$ | Kesh 1 soatAsosiy: — |
1K token uchun USD tariflari. Tarif belgilanmagan bo‘lsa, ushbu usulning asosiy tarifi qo‘llanadi; «—» asosiy tarif belgilanmaganini bildiradi.
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
Ma’lumot uchun tarif tafsilotlari
Modelning ma’lumot jadvallari usul tanlash, narx hisobi yoki to‘lovlarni o‘zgartirmaydi. Amaldagi to‘lovlar tanlangan Ailoot usuli tariflari bo‘yicha hisoblanadi.
Modelning ma’lumot jadvallari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaOpenAI Chat · Tokenlar uchun asosiy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Chat · So‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Chat · So‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaAnthropic Messages · Tokenlar uchun asosiy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaAnthropic Messages · So‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaAnthropic Messages · So‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Responses · Tokenlar uchun asosiy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Responses · So‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Responses · So‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
So‘rov namunalari
Ailoot · Anthropic Messages
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "max_tokens": 1024, "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+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/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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "max_tokens": 1024, "messages": [{"role": "user", "content": [{"type": "text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["messages"][0]["content"].append({"type":"image","source":{"type":"base64","media_type":mime,"data":b64}})
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/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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
import anthropic
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client = anthropic.Anthropic(base_url="https://api.ailoot.ai", api_key=os.environ["AILOOT_API_KEY"], max_retries=0)
msg = client.messages.create(
model="gpt-6-sol",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis 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(msg.to_dict(mode="json"))
import Anthropic from "@anthropic-ai/sdk";
if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new Anthropic({ baseURL: "https://api.ailoot.ai", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const msg = await client.messages.create({
model: "gpt-6-sol",
max_tokens: 1024,
messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";
function saveResult(data, stem = "result") {
writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
console.log(JSON.stringify(data, null, 2));
const saveBlob = (encoded, suffix, label) => {
const raw = Buffer.from(encoded, "base64");
const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
const file = `${stem}-${label}.${ext}`;
writeFileSync(file, raw); console.log("Saved", file);
};
for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
for (const [i, item] of (data.output || []).entries()) {
console.log("Output", i, JSON.stringify(item));
if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
}
for (const [ci, candidate] of (data.candidates || []).entries()) {
for (const [pi, part] of (candidate.content?.parts || []).entries()) {
console.log("Candidate/part", ci, pi, JSON.stringify(part));
const blob = part.inlineData || part.inline_data;
if (blob?.data) {
const mime = blob.mimeType || blob.mime_type;
const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
}
}
}
}
saveResult(msg);
import anthropic,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=anthropic.Anthropic(base_url="https://api.ailoot.ai",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.messages.stream(model='gpt-6-sol',max_tokens=1024,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_message()
save_result(final.to_dict(mode="json"),"stream-result")
Natijalarni olish va saqlash
Ailoot · Anthropic Messages
json yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Barcha kontent bloklari, fikrlash imzolari va haqiqiy vosita ishlatish IDlarini saqlang. SSE bloklarining barcha o‘zgarish qismlarini yig‘ing; birinchi matn bloki to‘liq chiqish emas.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonmodel | Turstring |
Maydoncontent[] | Turtext|thinking|tool_use|other content block |
Maydonstop_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot gpt-6-sol
Ailoot Ultra gpt-6-sol, openai/gpt-6-sol
Usul yo‘llari taxalluslari
/chat/completions
Chaqirish uchun tegishli ID lar
Ailoot · OpenAI Responses POST /v1/responses gpt-6-sol
gpt-6-solBoshlash
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn · Rasmlar
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot · OpenAI Responses POST /v1/responses
- Kirish
text,image- Chiqish
text- Kontekst
- 1 050 000 tokens
- Eng katta chiqish
- 128 000 tokens
- Chiqish formati
- json yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar gpt-6-sol | Standart— |
Maydoninput | Turstring|input_item[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydoninstructions | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydoninput[].type | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar message, reasoning, function_call, function_call_output | Standart— |
Maydoninput[].content | Turstring|content_part[] | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydoninput[].call_id | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: function_call_output; haqiqatan qaytarilgan call_id qiymatini saqlang | Standart— |
Maydoninput[].output | Turstring|content_part[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: function_call_output | Standart— |
Maydonmax_output_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Maydontemperature | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontop_p | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools | Turtool[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontool_choice | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonparallel_tool_calls | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning.effort | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning.summary | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontext.format | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontext.verbosity | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydoninclude | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonstore | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprevious_response_id | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar ID talabi: Faqat qo‘llab-quvvatlanadigan davom ettirishdan olingan haqiqiy javob IDsi Modelga bogʻliq | Standart— |
Maydonservice_tier | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_key | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_options | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Kirish materiallari birikmalari
Matn · UTF8 matni
Kirish matni yoki input_text qismi
Matn + rasm
{type:input_image,image_url}
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext, image |
Parametrrequired | Parametr talablarimodel, input |
Parametroptional_controls | Parametr talablarinull |
Parametrcontent_type | Parametr talablariapplication/json |
Parametrtext_file_material | Parametr talablariHaqiqiy UTF-8 kontenti matn sifatida kiritiladi; fayl IDlari/URLs uchun alohida aniq qo‘llab-quvvatlash kerak |
Hayot sikli: exact retained published method
Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.
Tariflar
Ailoot usullari tariflari
POST /v1/responses- Kirish
- 0,002 US$ / 1K
- Chiqish
- 0,01 US$ / 1K
- Keshdan o‘qish
- 0,0002 US$ / 1K
- Keshga yozish
- 0,0025 US$ / 1K
- Keshga yozish, 5 daqiqa
- 0,0025 US$ / 1K tokens
- fast ko‘paytirgichi
- ×2
- flex ko‘paytirgichi
- ×0.5
So‘rov uzunligiga qarab narxlar · OpenAI Responses
| So‘rov hajmi, tokenlarda | Kirish | Chiqish | Keshdan o‘qish | Keshga yozish | Kesh 5 daqiqa | Kesh 1 soat |
|---|---|---|---|---|---|---|
| So‘rov hajmi, tokenlarda(0; 272 000] | Kirish0,002 US$ | Chiqish0,01 US$ | Keshdan o‘qish0,0002 US$ | Keshga yozish0,0025 US$ | Kesh 5 daqiqa0,0025 US$ | Kesh 1 soatAsosiy: — |
| So‘rov hajmi, tokenlarda(272 000; ∞) | Kirish0,004 US$ | Chiqish0,015 US$ | Keshdan o‘qish0,0004 US$ | Keshga yozish0,005 US$ | Kesh 5 daqiqa0,005 US$ | Kesh 1 soatAsosiy: — |
1K token uchun USD tariflari. Tarif belgilanmagan bo‘lsa, ushbu usulning asosiy tarifi qo‘llanadi; «—» asosiy tarif belgilanmaganini bildiradi.
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
Ma’lumot uchun tarif tafsilotlari
Modelning ma’lumot jadvallari usul tanlash, narx hisobi yoki to‘lovlarni o‘zgartirmaydi. Amaldagi to‘lovlar tanlangan Ailoot usuli tariflari bo‘yicha hisoblanadi.
Modelning ma’lumot jadvallari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaOpenAI Chat · Tokenlar uchun asosiy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Chat · So‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Chat · So‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaAnthropic Messages · Tokenlar uchun asosiy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaAnthropic Messages · So‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaAnthropic Messages · So‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Responses · Tokenlar uchun asosiy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Responses · So‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Responses · So‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
So‘rov namunalari
Ailoot · OpenAI Responses
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "input": ""}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["input"]="Summarize this material and quote supporting source passages.\n\n"+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/responses \
-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
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(json.loads(Path("result.json").read_text(encoding="utf-8")))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "input": [{"role": "user", "content": [{"type": "input_text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["input"][0]["content"].append({"type":"input_image","image_url":"data:"+mime+";base64,"+b64})
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/responses \
-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
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(json.loads(Path("result.json").read_text(encoding="utf-8")))
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)
resp = client.responses.create(model="gpt-6-sol", input="Explain the difference between an observation and a hypothesis 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(resp.to_dict(mode="json"))
import OpenAI from "openai";
if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.responses.create({ model: "gpt-6-sol", input: "Explain the difference between an observation and a hypothesis in three sentences." });
import { writeFileSync } from "node:fs";
function saveResult(data, stem = "result") {
writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
console.log(JSON.stringify(data, null, 2));
const saveBlob = (encoded, suffix, label) => {
const raw = Buffer.from(encoded, "base64");
const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
const file = `${stem}-${label}.${ext}`;
writeFileSync(file, raw); console.log("Saved", file);
};
for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
for (const [i, item] of (data.output || []).entries()) {
console.log("Output", i, JSON.stringify(item));
if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
}
for (const [ci, candidate] of (data.candidates || []).entries()) {
for (const [pi, part] of (candidate.content?.parts || []).entries()) {
console.log("Candidate/part", ci, pi, JSON.stringify(part));
const blob = part.inlineData || part.inline_data;
if (blob?.data) {
const mime = blob.mimeType || blob.mime_type;
const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
}
}
}
}
saveResult(resp);
from openai import OpenAI
import os
from pathlib import Path
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))
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)
with client.responses.stream(model="gpt-6-sol", input="Explain the difference between an observation and a hypothesis 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_response()
save_result(final.to_dict(mode="json"),"stream-result")
Natijalarni olish va saqlash
Ailoot · OpenAI Responses
json yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Har bir chiqish elementi va kontent qismini, funksiyaning haqiqiy call_id qiymatini, shifrlangan fikrlash ma’lumotlari va sarfni saqlang. Oqimli uzatishda hodisa va elementning to‘liq identifikatsiyasini saqlang.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonstatus | Turstring |
Maydonoutput[] | Turmessage|reasoning|function_call|other item |
Maydonoutput[].content[] | Turcontent part |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot gpt-6-sol
Ailoot Ultra gpt-6-sol, openai/gpt-6-sol
Usul yo‘llari taxalluslari
/chat/completions
Chaqirish uchun tegishli ID lar
Ailoot · OpenAI Chat POST /v1/chat/completions gpt-6-sol
gpt-6-solBoshlash
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn · Rasmlar
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot · OpenAI Chat POST /v1/chat/completions
- Kirish
text,image- Chiqish
text- Kontekst
- 1 050 000 tokens
- Eng katta chiqish
- 128 000 tokens
- Chiqish formati
- json yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar gpt-6-sol | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Namunalar: system, user, assistant, tool, function Shartlar: Bu rollar manba kodining moslik turlarida ochiq ifodalangan; aniq rollar to‘plami har bir modelga xos bo‘lib qoladi. Modelga bogʻliq | Standart— |
Maydonmessages[].content | Turstring|content_part[]|null | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].tool_calls | Turtool_call[] | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].tool_call_id | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: role=tool; haqiqatan qaytarilgan IDdan foydalaning | Standart— |
Maydonmessages[].name | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].reasoning_content | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring | Standart— |
Maydonmessages[].reasoning_details | Turobject|array | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmax_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonmax_completion_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Maydonstream_options.include_usage | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontemperature | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontop_p | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonstop | Turstring|string[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools | Turfunction_tool[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools[].type | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools[].function.name | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Funksiya vositasi taqdim etilgan | Standart— |
Maydontools[].function.description | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontools[].function.parameters | TurJSON_schema | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontool_choice | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonparallel_tool_calls | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonresponse_format | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning_effort | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonservice_tier | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydoninstructions | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Moslik maydoni | Standart— |
Maydonfunctions | Turfunction[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonfunction_call | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_options | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Kirish materiallari birikmalari
Matn · UTF8 matni
messages[].content
Matn + rasm
{type:image_url,image_url:{url,detail}}
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext, image |
Parametrrequired | Parametr talablarimodel, messages |
Parametroptional_controls | Parametr talablarinull |
Parametrcontent_type | Parametr talablariapplication/json |
Parametrtext_file_material | Parametr talablariHaqiqiy UTF-8 kontenti matn sifatida kiritiladi; fayl IDlari/URLs uchun alohida aniq qo‘llab-quvvatlash kerak |
Hayot sikli: exact retained published method
Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.
Tariflar
Ailoot usullari tariflari
POST /v1/chat/completions- Kirish
- 0,002 US$ / 1K
- Chiqish
- 0,01 US$ / 1K
- Keshdan o‘qish
- 0,0002 US$ / 1K
- Keshga yozish
- 0,0025 US$ / 1K
- Keshga yozish, 5 daqiqa
- 0,0025 US$ / 1K tokens
- fast ko‘paytirgichi
- ×2
- flex ko‘paytirgichi
- ×0.5
So‘rov uzunligiga qarab narxlar · OpenAI Chat
| So‘rov hajmi, tokenlarda | Kirish | Chiqish | Keshdan o‘qish | Keshga yozish | Kesh 5 daqiqa | Kesh 1 soat |
|---|---|---|---|---|---|---|
| So‘rov hajmi, tokenlarda(0; 272 000] | Kirish0,002 US$ | Chiqish0,01 US$ | Keshdan o‘qish0,0002 US$ | Keshga yozish0,0025 US$ | Kesh 5 daqiqa0,0025 US$ | Kesh 1 soatAsosiy: — |
| So‘rov hajmi, tokenlarda(272 000; ∞) | Kirish0,004 US$ | Chiqish0,015 US$ | Keshdan o‘qish0,0004 US$ | Keshga yozish0,005 US$ | Kesh 5 daqiqa0,005 US$ | Kesh 1 soatAsosiy: — |
1K token uchun USD tariflari. Tarif belgilanmagan bo‘lsa, ushbu usulning asosiy tarifi qo‘llanadi; «—» asosiy tarif belgilanmaganini bildiradi.
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
Ma’lumot uchun tarif tafsilotlari
Modelning ma’lumot jadvallari usul tanlash, narx hisobi yoki to‘lovlarni o‘zgartirmaydi. Amaldagi to‘lovlar tanlangan Ailoot usuli tariflari bo‘yicha hisoblanadi.
Modelning ma’lumot jadvallari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaOpenAI Chat · Tokenlar uchun asosiy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Chat · So‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Chat · So‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaAnthropic Messages · Tokenlar uchun asosiy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaAnthropic Messages · So‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaAnthropic Messages · So‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Responses · Tokenlar uchun asosiy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Responses · So‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaOpenAI Responses · So‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
So‘rov namunalari
Ailoot · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+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/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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "messages": [{"role": "user", "content": [{"type": "text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["messages"][0]["content"].append({"type":"image_url","image_url":{"url":"data:"+mime+";base64,"+b64}})
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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
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)
resp = client.chat.completions.create(
model="gpt-6-sol",
messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis 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(resp.to_dict(mode="json"))
import OpenAI from "openai";
if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.chat.completions.create({
model: "gpt-6-sol",
messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";
function saveResult(data, stem = "result") {
writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
console.log(JSON.stringify(data, null, 2));
const saveBlob = (encoded, suffix, label) => {
const raw = Buffer.from(encoded, "base64");
const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
const file = `${stem}-${label}.${ext}`;
writeFileSync(file, raw); console.log("Saved", file);
};
for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
for (const [i, item] of (data.output || []).entries()) {
console.log("Output", i, JSON.stringify(item));
if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
}
for (const [ci, candidate] of (data.candidates || []).entries()) {
for (const [pi, part] of (candidate.content?.parts || []).entries()) {
console.log("Candidate/part", ci, pi, JSON.stringify(part));
const blob = part.inlineData || part.inline_data;
if (blob?.data) {
const mime = blob.mimeType || blob.mime_type;
const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
}
}
}
}
saveResult(resp);
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='gpt-6-sol',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")
Natijalarni olish va saqlash
Ailoot · OpenAI Chat
json yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonchoices[].index | Turinteger |
Maydonchoices[].message.content | Turstring|null |
Maydonchoices[].message.tool_calls | Turtool_call[] |
Maydonchoices[].message.reasoning_content | Turstring |
Maydonchoices[].message.reasoning_details | Turobject|array |
Maydonchoices[].finish_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot gpt-6-sol
Ailoot Ultra gpt-6-sol, openai/gpt-6-sol
Usul yo‘llari taxalluslari
/chat/completions
Chaqirish uchun tegishli ID lar
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions gpt-6-sol
gpt-6-solgpt-6-solopenai/gpt-6-sol
Boshlash
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Kirish
text- Chiqish
text- Chiqish formati
- json yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar gpt-6-sol | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmessages[].content | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Matnli suhbat | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Kirish materiallari birikmalari
Matn · UTF8 matni
messages[].content
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, messages |
Parametrmaterial_types | Parametr talablaritext |
Parametrmessages | Parametr talablarirole/content tuzilishidagi xabarlar massivi |
Parametrfile_material | Parametr talablariHaqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi |
Parametroptional_controls | Parametr talablaristream |
Parametrcontrol_scope | Parametr talablariMatnli suhbat; stream mantiqiy qiymat bo‘lib, standart holatda false. |
Parametroutput_modalities | Parametr talablaritext |
Parametrhosted_operations | Parametr talablarifalse |
Parametrmultimodal_input_binding | Parametr talablarinull |
Usul taxalluslari: /chat/completions
Hayot sikli: synchronous_or_streamed
Aniq model IDsini messages bilan yuboring.
Kontekst uzunligi chiqishning yuqori chegarasi emas.
Matn fayli aynan matnni taqdim etishi mumkin; tasvir, audio va fayl obyekti kirishlari aniq bog‘lashni talab qiladi.
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · past
- Standart tarif Fikrlash darajasi past bo‘lganda
- Fikrlash darajasi · maksimal
- Standart tarif Fikrlash darajasi maksimal bo‘lganda
- Fikrlash darajasi · o‘rtacha
- Standart tarif Fikrlash darajasi o‘rtacha bo‘lganda
- Fikrlash darajasi · yo‘q
- Standart tarif Fikrlash darajasi yo‘q bo‘lganda
- Fikrlash darajasi · xhigh
- Standart tarif Fikrlash darajasi xhigh bo‘lganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"gpt-6-sol","messages":[{"role":"user","content":"hello"}],"stream":false}')
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="gpt-6-sol", messages=[{"role":"user","content":"hello"}], stream=False)
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"))
Natijalarni olish va saqlash
Ailoot Ultra · OpenAI Chat
json yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonchoices[].index | Turinteger |
Maydonchoices[].message.content | Turstring|null |
Maydonchoices[].message.tool_calls | Turtool_call[] |
Maydonchoices[].message.reasoning_content | Turstring |
Maydonchoices[].message.reasoning_details | Turobject|array |
Maydonchoices[].finish_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot gpt-6-sol
Ailoot Ultra gpt-6-sol, openai/gpt-6-sol
Usul yo‘llari taxalluslari
/chat/completions
Chaqirish uchun tegishli ID lar
Ailoot Ultra · Anthropic Messages POST /v1/messages gpt-6-sol
gpt-6-solgpt-6-solopenai/gpt-6-sol
Boshlash
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- json · sse
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Kirish
text- Chiqish
json,sse- Chiqish formati
- JSON yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar gpt-6-sol | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar user, assistant | Standart— |
Maydonmessages[].content | Turstring | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonmax_tokens | Turinteger | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Kirish materiallari birikmalari
Matn · UTF-8 matni
messages[].content satri
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, messages, max_tokens |
Parametroptional_controls | Parametr talablaristream |
Parametrmaterial_types | Parametr talablaritext |
Parametrtext_file_material | Parametr talablariHaqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring. |
Hayot sikli: synchronous_or_streamed
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · past
- Standart tarif Fikrlash darajasi past bo‘lganda
- Fikrlash darajasi · maksimal
- Standart tarif Fikrlash darajasi maksimal bo‘lganda
- Fikrlash darajasi · o‘rtacha
- Standart tarif Fikrlash darajasi o‘rtacha bo‘lganda
- Fikrlash darajasi · yo‘q
- Standart tarif Fikrlash darajasi yo‘q bo‘lganda
- Fikrlash darajasi · xhigh
- Standart tarif Fikrlash darajasi xhigh bo‘lganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · Anthropic Messages
{
"model": "gpt-6-sol",
"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': 'gpt-6-sol', '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': 'gpt-6-sol', '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))
Natijalarni olish va saqlash
Ailoot Ultra · Anthropic Messages
JSON yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Barcha kontent bloklari, fikrlash imzolari va haqiqiy vosita ishlatish IDlarini saqlang. SSE bloklarining barcha o‘zgarish qismlarini yig‘ing; birinchi matn bloki to‘liq chiqish emas.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonmodel | Turstring |
Maydoncontent[] | Turtext|thinking|tool_use|other content block |
Maydonstop_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot gpt-6-sol
Ailoot Ultra gpt-6-sol, openai/gpt-6-sol
Usul yo‘llari taxalluslari
/chat/completions
Chaqirish uchun tegishli ID lar
Ailoot Ultra · OpenAI Responses POST /v1/responses gpt-6-sol
gpt-6-solgpt-6-solopenai/gpt-6-sol
Boshlash
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · OpenAI Responses POST /v1/responses
- Kirish
text- Chiqish
text- Chiqish formati
- json or SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar gpt-6-sol | Standart— |
Maydoninput | Turstring|input_item[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydoninstructions | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydoninput[].type | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar message, reasoning, function_call, function_call_output | Standart— |
Maydoninput[].content | Turstring|content_part[] | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydoninput[].call_id | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: function_call_output; haqiqatan qaytarilgan call_id qiymatini saqlang | Standart— |
Maydoninput[].output | Turstring|content_part[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: function_call_output | Standart— |
Maydonmax_output_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Maydontemperature | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontop_p | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools | Turtool[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontool_choice | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonparallel_tool_calls | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning.effort | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning.summary | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontext.format | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontext.verbosity | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydoninclude | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonstore | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprevious_response_id | Turstring | TalabQo‘llab-quvvatlanmaydi | Qiymatlar va cheklovlar ID talabi: Faqat qo‘llab-quvvatlanadigan davom ettirishdan olingan haqiqiy javob IDsi Shartlar: Har bir so‘rov bilan haqiqiy suhbat tarixini qayta yuboring. | Standart— |
Maydonservice_tier | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_key | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_options | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Kirish materiallari birikmalari
Matn · UTF8 matni
input text or input_text part
Matn + rasm
{type:input_image,image_url}
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext |
Parametrrequired | Parametr talablarimodel, input |
Parametroptional_controls | Parametr talablarinull |
Parametrcontent_type | Parametr talablariapplication/json |
Parametrtext_file_material | Parametr talablariHaqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring. |
Hayot sikli: exact retained published method
Aniq model ID sini va majburiy maydonlarni yuboring.
Qaytarilgan har bir element va uning dastlabki identifikatorlarini saqlang.
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · past
- Standart tarif Fikrlash darajasi past bo‘lganda
- Fikrlash darajasi · maksimal
- Standart tarif Fikrlash darajasi maksimal bo‘lganda
- Fikrlash darajasi · o‘rtacha
- Standart tarif Fikrlash darajasi o‘rtacha bo‘lganda
- Fikrlash darajasi · yo‘q
- Standart tarif Fikrlash darajasi yo‘q bo‘lganda
- Fikrlash darajasi · xhigh
- Standart tarif Fikrlash darajasi xhigh bo‘lganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · OpenAI Responses
{
"model": "gpt-6-sol",
"input": [
{
"content": "Hello, how are you?",
"role": "user",
"type": "message"
}
]
}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': 'gpt-6-sol', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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/responses \
-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
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': 'gpt-6-sol', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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 = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/responses', 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))
Natijalarni olish va saqlash
Ailoot Ultra · OpenAI Responses
json or SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Har bir chiqish elementi va kontent qismini, funksiyaning haqiqiy call_id qiymatini, shifrlangan fikrlash ma’lumotlari va sarfni saqlang. Oqimli uzatishda hodisa va elementning to‘liq identifikatsiyasini saqlang.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonstatus | Turstring |
Maydonoutput[] | Turmessage|reasoning|function_call|other item |
Maydonoutput[].content[] | Turcontent part |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot gpt-6-sol
Ailoot Ultra gpt-6-sol, openai/gpt-6-sol
Usul yo‘llari taxalluslari
/chat/completions
Chaqirish uchun tegishli ID lar
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions openai/gpt-6-sol
openai/gpt-6-solgpt-6-solopenai/gpt-6-sol
Boshlash
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Kirish
text- Chiqish
text- Chiqish formati
- json yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar openai/gpt-6-sol | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Namunalar: system, user, assistant, tool, function Shartlar: Bu rollar manba kodining moslik turlarida ochiq ifodalangan; aniq rollar to‘plami har bir modelga xos bo‘lib qoladi. Modelga bogʻliq | Standart— |
Maydonmessages[].content | Turstring|content_part[]|null | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].tool_calls | Turtool_call[] | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].tool_call_id | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: role=tool; haqiqatan qaytarilgan IDdan foydalaning | Standart— |
Maydonmessages[].name | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].reasoning_content | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring | Standart— |
Maydonmessages[].reasoning_details | Turobject|array | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmax_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonmax_completion_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Maydonstream_options.include_usage | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontemperature | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontop_p | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonstop | Turstring|string[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools | Turfunction_tool[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools[].type | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar function Modelga bogʻliq | Standart— |
Maydontools[].function.name | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Funksiya vositasi taqdim etilgan | Standart— |
Maydontools[].function.description | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontools[].function.parameters | TurJSON_schema | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontool_choice | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonparallel_tool_calls | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonresponse_format | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning_effort | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonservice_tier | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydoninstructions | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Moslik maydoni | Standart— |
Maydonfunctions | Turfunction[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonfunction_call | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_options | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmodalities | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar text | Standart— |
Maydonprovider | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Shartlar: Ushbu Ultra matn marshrutida provider.options rad etiladi | Standart— |
Maydoncache_control.ttl | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Shartlar: Haqiqiy prompt-kesh joylarida 1h rad etiladi | Standart— |
Kirish materiallari birikmalari
Matn · UTF8 matni
messages[].content
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, messages |
Parametrmaterial_types | Parametr talablaritext |
Parametrmessages | Parametr talablarirole/content tuzilishidagi xabarlar massivi |
Parametrfile_material | Parametr talablariHaqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi |
Parametroptional_controls | Parametr talablaristream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametrcontrol_scope | Parametr talablariModelga xos; foydalanuvchi funksiya vositalari hostingdagi vositalardan farq qiladi |
Parametroutput_modalities | Parametr talablaritext |
Parametrhosted_operations | Parametr talablarifalse |
Parametrmultimodal_input_binding | Parametr talablarinull |
Hayot sikli: synchronous_or_streamed
Aniq model IDsini messages bilan yuboring.
Kontekst uzunligi chiqishning yuqori chegarasi emas.
Matn fayli aynan matnni taqdim etishi mumkin; tasvir, audio va fayl obyekti kirishlari aniq bog‘lashni talab qiladi.
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · past
- Standart tarif Fikrlash darajasi past bo‘lganda
- Fikrlash darajasi · maksimal
- Standart tarif Fikrlash darajasi maksimal bo‘lganda
- Fikrlash darajasi · o‘rtacha
- Standart tarif Fikrlash darajasi o‘rtacha bo‘lganda
- Fikrlash darajasi · yo‘q
- Standart tarif Fikrlash darajasi yo‘q bo‘lganda
- Fikrlash darajasi · xhigh
- Standart tarif Fikrlash darajasi xhigh bo‘lganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · OpenAI Chat
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-6-sol", "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-6-sol',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-6-sol',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")
Natijalarni olish va saqlash
Ailoot Ultra · OpenAI Chat
json yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonchoices[].index | Turinteger |
Maydonchoices[].message.content | Turstring|null |
Maydonchoices[].message.tool_calls | Turtool_call[] |
Maydonchoices[].message.reasoning_content | Turstring |
Maydonchoices[].message.reasoning_details | Turobject|array |
Maydonchoices[].finish_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot gpt-6-sol
Ailoot Ultra gpt-6-sol, openai/gpt-6-sol
Usul yo‘llari taxalluslari
/chat/completions
Chaqirish uchun tegishli ID lar
Ailoot Ultra · Anthropic Messages POST /v1/messages openai/gpt-6-sol
openai/gpt-6-solgpt-6-solopenai/gpt-6-sol
Boshlash
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Kirish
text- Chiqish
text- Chiqish formati
- json yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar openai/gpt-6-sol | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar user, assistant | Standart— |
Maydonmessages[].content | Turstring|content_block[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonsystem | Turstring|content_block[] | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmax_tokens | Turinteger | TalabMajburiy | Qiymatlar va cheklovlar Eng kam: 1 Cheklov qo‘llanadigan obyekt: Tanlangan model yoki kartaning aniq yuqori chegarasi | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Maydontemperature | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontop_p | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonstop_sequences | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools | Turtool[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools[].name | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Vosita taqdim etilgan | Standart— |
Maydontools[].description | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontools[].input_schema | TurJSON_schema | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontool_choice | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonthinking.type | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonthinking.budget_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonoutput_config.effort | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmetadata | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydoncache_control | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Kirish materiallari birikmalari
Matn · UTF8 matni
messages[].content yoki type=text bloki
Matn + rasm
{type:image,source:{type:base64,media_type,data}} yoki type=url turidagi manba
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext |
Parametrrequired | Parametr talablarimodel, messages, max_tokens |
Parametroptional_controls | Parametr talablarinull |
Parametrcontent_type | Parametr talablariapplication/json |
Parametrtext_file_material | Parametr talablariHaqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring. |
Hayot sikli: exact retained published method
Aniq model ID sini va majburiy maydonlarni yuboring.
Qaytarilgan har bir element va uning dastlabki identifikatorlarini saqlang.
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · past
- Standart tarif Fikrlash darajasi past bo‘lganda
- Fikrlash darajasi · maksimal
- Standart tarif Fikrlash darajasi maksimal bo‘lganda
- Fikrlash darajasi · o‘rtacha
- Standart tarif Fikrlash darajasi o‘rtacha bo‘lganda
- Fikrlash darajasi · yo‘q
- Standart tarif Fikrlash darajasi yo‘q bo‘lganda
- Fikrlash darajasi · xhigh
- Standart tarif Fikrlash darajasi xhigh bo‘lganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · Anthropic Messages
{
"model": "openai/gpt-6-sol",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
]
}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-6-sol', 'max_tokens': 4096, '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-6-sol', 'max_tokens': 4096, '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))
Natijalarni olish va saqlash
Ailoot Ultra · Anthropic Messages
json yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Barcha kontent bloklari, fikrlash imzolari va haqiqiy vosita ishlatish IDlarini saqlang. SSE bloklarining barcha o‘zgarish qismlarini yig‘ing; birinchi matn bloki to‘liq chiqish emas.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonmodel | Turstring |
Maydoncontent[] | Turtext|thinking|tool_use|other content block |
Maydonstop_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot gpt-6-sol
Ailoot Ultra gpt-6-sol, openai/gpt-6-sol
Usul yo‘llari taxalluslari
/chat/completions
Chaqirish uchun tegishli ID lar
Ailoot Ultra · OpenAI Responses POST /v1/responses openai/gpt-6-sol
openai/gpt-6-solgpt-6-solopenai/gpt-6-sol
Boshlash
GPT-6 Sol murakkab dasturlash va vositalar bilan ko‘p bosqichli vazifalar uchun mo‘ljallangan. Matn va tasvirlar bilan ishlaydi hamda mulohaza chuqurligini sozlashga imkon beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · OpenAI Responses POST /v1/responses
- Kirish
text- Chiqish
text- Chiqish formati
- json yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar openai/gpt-6-sol | Standart— |
Maydoninput | Turstring|input_item[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydoninstructions | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydoninput[].type | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar message, reasoning, function_call, function_call_output | Standart— |
Maydoninput[].content | Turstring|content_part[] | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydoninput[].call_id | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: function_call_output; haqiqatan qaytarilgan call_id qiymatini saqlang | Standart— |
Maydoninput[].output | Turstring|content_part[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: function_call_output | Standart— |
Maydonmax_output_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Maydontemperature | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontop_p | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools | Turtool[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontool_choice | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonparallel_tool_calls | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning.effort | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning.summary | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontext.format | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontext.verbosity | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydoninclude | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonstore | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprevious_response_id | Turstring | TalabQo‘llab-quvvatlanmaydi | Qiymatlar va cheklovlar ID talabi: Faqat qo‘llab-quvvatlanadigan davom ettirishdan olingan haqiqiy javob IDsi Shartlar: Har bir so‘rov bilan haqiqiy suhbat tarixini qayta yuboring. | Standart— |
Maydonservice_tier | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_key | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_options | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Kirish materiallari birikmalari
Matn · UTF8 matni
Kirish matni yoki input_text qismi
Matn + rasm
{type:input_image,image_url}
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext |
Parametrrequired | Parametr talablarimodel, input |
Parametroptional_controls | Parametr talablarinull |
Parametrcontent_type | Parametr talablariapplication/json |
Parametrtext_file_material | Parametr talablariHaqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring. |
Hayot sikli: exact retained published method
Aniq model ID sini va majburiy maydonlarni yuboring.
Qaytarilgan har bir element va uning dastlabki identifikatorlarini saqlang.
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · past
- Standart tarif Fikrlash darajasi past bo‘lganda
- Fikrlash darajasi · maksimal
- Standart tarif Fikrlash darajasi maksimal bo‘lganda
- Fikrlash darajasi · o‘rtacha
- Standart tarif Fikrlash darajasi o‘rtacha bo‘lganda
- Fikrlash darajasi · yo‘q
- Standart tarif Fikrlash darajasi yo‘q bo‘lganda
- Fikrlash darajasi · xhigh
- Standart tarif Fikrlash darajasi xhigh bo‘lganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi272 000 | To‘lov Kirish · Kirish tokenlari $0.004 / 1K token Chiqish · Chiqish tokenlari $0.02 / 1K token Kirish · Keshdan o‘qish $0.0004 / 1K token Kirish · Keshga yozish $0.005 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 2-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p272 000 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.008 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish $0.0008 / 1K token Kirish · Keshga yozish $0.01 / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · OpenAI Responses
{
"model": "openai/gpt-6-sol",
"input": [
{
"content": "Hello, how are you?",
"role": "user",
"type": "message"
}
]
}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-6-sol', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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/responses \
-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
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-6-sol', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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 = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/responses', 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))
Natijalarni olish va saqlash
Ailoot Ultra · OpenAI Responses
json yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Har bir chiqish elementi va kontent qismini, funksiyaning haqiqiy call_id qiymatini, shifrlangan fikrlash ma’lumotlari va sarfni saqlang. Oqimli uzatishda hodisa va elementning to‘liq identifikatsiyasini saqlang.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonstatus | Turstring |
Maydonoutput[] | Turmessage|reasoning|function_call|other item |
Maydonoutput[].content[] | Turcontent part |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot gpt-6-sol
Ailoot Ultra gpt-6-sol, openai/gpt-6-sol
Usul yo‘llari taxalluslari
/chat/completions
Chaqirish uchun tegishli ID lar
FAQ · OpenAI: GPT-6 Sol
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/messages·gpt-6-sol:text,image→textPOST /v1/responses·gpt-6-sol:text,image→textPOST /v1/chat/completions·gpt-6-sol:text,image→textPOST /v1/chat/completions·gpt-6-sol:text→textPOST /v1/messages·gpt-6-sol:text→json,ssePOST /v1/responses·gpt-6-sol:text→textPOST /v1/chat/completions·openai/gpt-6-sol:text→textPOST /v1/messages·openai/gpt-6-sol:text→textPOST /v1/responses·openai/gpt-6-sol:text→text- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/messages·gpt-6-sol:model,messages,system,max_tokens,stream,metadataPOST /v1/responses·gpt-6-sol:model,input,instructions,streamPOST /v1/chat/completions·gpt-6-sol:model,messages,streamPOST /v1/chat/completions·gpt-6-sol:model,messages,streamPOST /v1/messages·gpt-6-sol:model,messages,max_tokens,streamPOST /v1/responses·gpt-6-sol:model,input,instructions,streamPOST /v1/chat/completions·openai/gpt-6-sol:model,messages,stream,modalities,providerPOST /v1/messages·openai/gpt-6-sol:model,messages,system,max_tokens,stream,metadataPOST /v1/responses·openai/gpt-6-sol:model,input,instructions,stream- Qanday cheklovlar amal qiladi?
POST /v1/messages·gpt-6-sol:ctx:1050000;max_out:128000;messages.min_items:1;max_tokens.minimum:1POST /v1/responses·gpt-6-sol:ctx:1050000;max_out:128000POST /v1/chat/completions·gpt-6-sol:ctx:1050000;max_out:128000;messages.min_items:1POST /v1/chat/completions·gpt-6-sol:messages.min_items:1POST /v1/chat/completions·openai/gpt-6-sol:messages.min_items:1POST /v1/messages·openai/gpt-6-sol:messages.min_items:1;max_tokens.minimum:1