modellar

Qwen3 VL 235B A22B Thinking

Markdown · JSON

Qwen3 VL 235B A22B Thinking

Qwen3-VL-235B-A22B-Thinking — Qwen’ning matn, tasvir va video ustida mulohaza yurituvchi ekspertlar aralashmasiga asoslangan ko‘rish-til modeli. Thinking nashridan STEM savollari, hujjat dalillari, fazoviy munosabatlar, vizual dasturlash va vaqt belgili video tahlili uchun bazaviy 262,144 tokenli kontekst bilan foydalaning.

Model haqida

Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.

Kirish: multimodal Thinking nashri

Qwen3-VL-235B-A22B-Thinking — Qwen3-VL’ning mulohazaga yo‘naltirilgan, ekspertlar aralashmasiga asoslangan nashri. U matnni tasvir va video bilan birlashtirib, matnli javob yoki kod yaratadi. Qat’iy Thinking nazorat nuqtasi Qwen3-VL-235B-A22B-Instruct va alohida nomlangan FP8 yig‘malaridan ajralib turadi. Har bir Qwen3-VL nashrining javob uslubi bir xil deb faraz qilish o‘rniga, vizual dalilni uzunroq izoh bilan bog‘lash kerak bo‘lgan savol uchun uni tanlang.

Vizual agentlar va vizual dasturlash

Qwen kompyuter yoki mobil interfeys elementlarini taniydigan, ularning vazifasini talqin qiladigan va topshiriqni bajarish uchun vositalar bilan ishlaydigan vizual agent jarayonini ta’riflaydi. Model idrok va mulohazani ta’minlaydi; amallarni ulash va bajarish ilova zimmasida. Interfeysni ko‘rib chiqishda joriy skrinshot va aniq maqsadni bering, so‘ng tegishli boshqaruvlarni aniqlash va keyingi amalni tushuntirishni so‘rang. Tasvirning o‘zi qurilmani boshqarish huquqini bermaydi.

Vizual dasturlash tasvir va videodan chizma mazmuni hamda HTML, CSS yoki JavaScript yaratishni o‘z ichiga oladi. Kerakli joylashuv, xatti-harakat va tahrirlanadigan chiqish formati bilan skrinshot taqdim eting. Ko‘rib chiqish osonlashsa, sahifa tuzilishi va uslublarni alohida artefakt sifatida so‘rang. Yaratilgan kod ishlab chiqish jarayoni uchun matndir; u sayt render qilinganini yoki manba tasviri ishlaydigan ilovaga aylanganini isbotlamaydi.

Fazoviy idrok

Ishlab chiqaruvchi obyekt joylashuvlari, ko‘rish nuqtalari va to‘silishlar haqida mulohazani, ikki o‘lchovli bog‘lash hamda uch o‘lchovli bog‘lashni qo‘llashni hujjatlashtirgan. Aniq munosabat savolini bering va qiziqtirgan obyektni ko‘rsating: masalan, qaysi komponent to‘silgan, uning oldida nima bor va bu talqinni qaysi vizual belgilar asoslaydi. Bog‘lash imkoniyatini ixtiyoriy tasvirdan olingan kalibrlangan jismoniy o‘lchov sifatida talqin qilmaslik kerak.

Uzun kontekst va video

Bazaviy kontekst 262,144 token. Qwen YaRN konfiguratsiyasi orqali taxminan bir milliongacha kengaytirishni, kitoblar yoki soatlab davom etuvchi video bilan hodisalarni soniya aniqligida indekslaydigan oila jarayonlarini ta’riflaydi. Bu imkoniyatlar tasvirlash usuli, kadrlarni namunalash va kontekst konfiguratsiyasiga bog‘liq; ishlab chiqaruvchining umumiy tavsifi har bir kadrni mukammal eslab qolishni kafolatlamaydi. Qwen o‘z repozitoriysida ushbu almashib keluvchi pozitsion sxema uchun 256K dan taxminan 1M gacha kengaytirishda boshqa modeldan to‘rtga teng koeffitsiyentni avtomatik ko‘chirish o‘rniga, ekstrapolyatsiya koeffitsiyentini ikki yoki uch deb belgilashni tavsiya qiladi.

Multimodal mulohaza va tanish

Thinking nashri dalillarga tayangan STEM va matematik mulohaza, sababiy tahlil hamda matnni vizual materialga bog‘lovchi mantiqiy javoblarga yo‘naltirilgan. Chizmani uning ta’riflari bilan birga yoki grafikni aniq sonli savol bilan bering. Xulosadan oldin ishlatilgan yorliqlar va qiymatlarni so‘rang. Qwen odamlar, anime, mahsulotlar, diqqatga sazovor joylar, o‘simlik va hayvonlarni qamrab oluvchi kengroq vizual tanishni ham ta’riflaydi. Tanish javobi taqdim etilgan tasvirdan chiqarilgan xulosa bo‘lib qoladi, har bir obyekt yoki shaxsni nomlash kafolati emas.

OCR 32 tilni qamrab oladi va kam yorug‘lik, xiralik yoki qiyalikda o‘qishni yaxshilashga mo‘ljallangan, shu jumladan maxsus lug‘at va uzun hujjat tuzilishini. O‘qiladigan asl tasvirlarni saqlang va tekshirish mumkin bo‘lgan maydonlar, iqtiboslar yoki tuzilmali jadvalni so‘rang. Matn va vizual tushunish bitta modelda birlashgani sababli, savol bir vaqtda hujjat parchasi, rasm va foydalanuvchi ko‘rsatmalariga murojaat qilishi mumkin.

Arxitektura o‘zgarishlari

Interleaved-MRoPE video mulohazasi uchun pozitsion tasvirlashni vaqt, kenglik va balandlik bo‘ylab taqsimlaydi. DeepStack mayda tafsilotlarni olish va tasvir–matn mosligini yaxshilash uchun enkoderning bir necha darajasidagi vizual xususiyatlarni birlashtiradi. Matn–vaqt belgisi mosligi hodisalarni vaqt havolalariga bog‘laydi. Chiqarilgan matn konfiguratsiyasida 94 qatlam, 128 ekspert va har bir token uchun tanlanadigan sakkiz ekspert bor. Ushbu arxitektura tafsilotlari modelning multimodal tasvirlashini tushuntiradi; ular javob vaqti kafolatini bermaydi.

Vizual kirish va chiqishni tayyorlash

Ishlab chiqaruvchi misollari bitta yoki bir nechta tasvir, video va faqat matnli so‘rovlarni qamrab oladi. Savol unga aniq ishora qilishi uchun har bir vizual kirishga yorliq bering. Tasvir va video protsessorlari alohida piksel budjetlaridan foydalanadi: tasvir budjeti uning piksellarini cheklaydi, video budjeti esa namunalanadigan barcha kadrlardagi piksellarni hisoblaydi. Aniq berilgan tasvir o‘lchamlari 32 ning karralilariga moslashtiriladi. Videoni namunalash tezlik yoki kadr soni orqali boshqarilishi mumkin; hujjatlashtirilgan sukut qiymati soniyasiga ikki kadr. Hodisalar vaqt chizig‘ini so‘raganda vaqt belgilarini saqlang.

Uzun klipda umumiy ajratilmagan xulosa o‘rniga hodisa, uning vaqt oralig‘i va ko‘rinadigan dalillarni so‘rang. Bir necha sahifada sahifa identifikatori bo‘yicha tartiblangan natijani talab qiling. Ushbu tayyorlash misollari hujjatlashtirilgan imkoniyatlarni qo‘llaydi va tushirib qoldirish yoki ajratish xatolarini ko‘rinadigan qiladi.

Generatsiya ko‘rsatmalari va chegaralari

Nazorat nuqtasining generatsiya faylida sukut bo‘yicha temperature 0.8, top_p 0.95 va top_k 20. Qwen’ning alohida Thinking baholash retseptida temperature 0.6, presence penalty nol, repetition penalty 1.0 va 40,960 tokenli chiqish limiti ishlatiladi. Bular bitta qat’iy chiqish chegarasi emas, ishlab chiqaruvchining alohida oldindan belgilangan sozlamalaridir. Vizual tokenlar bilan birga mulohaza va yakuniy matnga joy ajrating, ajratib olingan matn, hisoblangan javob va yaratilgan kodni ishlatishdan oldin manbaga solishtirib tekshiring.

Amaliy vazifa

Amaliy vazifa

Ingliz tilidagi texnik misol

Reason from a textual circuit description

Use this textual circuit description: an ideal 12 V source powers two series resistors, R1 = 2 Ω and R2 = 4 Ω. Calculate total resistance, current and voltage across each resistor. State the ideal-component assumptions and verify that the voltage drops sum to the source voltage. Return a compact worked solution using the labels R1 and R2.

Kutiladigan natija

A labeled worked calculation and a voltage-sum consistency check.

Natijani tekshirish

The same series current is used for both resistors and the stated voltage drops sum to 12 V.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen/qwen3-vl-235b-a22b-thinking

qwen/qwen3-vl-235b-a22b-thinking

Alibaba /qwen/qwen3-vl-235b-a22b-thinking
Model ID
  • qwen/qwen3-vl-235b-a22b-thinking
  • qwen3-vl-235b-a22b-thinking

Boshlash

Qwen3-VL-235B-A22B-Thinking — Qwen’ning matn, tasvir va video ustida mulohaza yurituvchi ekspertlar aralashmasiga asoslangan ko‘rish-til modeli. Thinking nashridan STEM savollari, hujjat dalillari, fazoviy munosabatlar, vizual dasturlash va vaqt belgili video tahlili uchun bazaviy 262,144 tokenli kontekst bilan foydalaning.

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
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
qwen/qwen3-vl-235b-a22b-thinking
Standart—
MaydonmessagesTurmessage[]TalabMajburiyQiymatlar va cheklovlar
Elementlarning eng kam soni: 1
Standart—
Maydonmessages[].roleTurstringTalabMajburiyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonmessages[].contentTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Quyidagi holatda qo‘llanadi: Matnli suhbat
Standart—
MaydonstreamTurbooleanTalabIxtiyoriyQiymatlar va cheklovlarStandartfalse
Kirish materiallari birikmalari

Matn · UTF8 matni

messages[].content

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablarimodel, messages
Parametrmaterial_typesParametr talablaritext
ParametrmessagesParametr talablarirole/content tuzilishidagi xabarlar massivi
Parametrfile_materialParametr talablariHaqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi
Parametroptional_controlsParametr talablaristream
Parametrcontrol_scopeParametr talablariMatnli suhbat; stream mantiqiy qiymat bo‘lib, standart holatda false.
Parametroutput_modalitiesParametr talablaritext
Parametrhosted_operationsParametr talablarifalse
Parametrmultimodal_input_bindingParametr 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
Ko‘rsatilmagan Tezkor rejim tanlanganda
Flex rejimi
Ko‘rsatilmagan flex rejimi tanlanganda
Maksimal fikrlash darajasi
Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda

Ailoot tariflari

Sozlamalar bo‘yicha narxlar

SozlamaTariflar jadvaliTo‘lov
SozlamaTokenlar uchun bazaviy tariflarTariflar jadvaliAsosiy tarifTo‘lov
Kirish · Kirish tokenlari $0.000572 / 1K token
Chiqish · Chiqish tokenlari $0.00572 / 1K token
Kirish · Keshdan o‘qish $0 / 1K token
Kirish · Keshga yozish $0 / 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

curlPython SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"qwen/qwen3-vl-235b-a22b-thinking","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="qwen/qwen3-vl-235b-a22b-thinking", 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
MaydonTur
Maydonchoices[].indexTurinteger
Maydonchoices[].message.contentTurstring|null
Maydonchoices[].message.tool_callsTurtool_call[]
Maydonchoices[].message.reasoning_contentTurstring
Maydonchoices[].message.reasoning_detailsTurobject|array
Maydonchoices[].finish_reasonTurstring|null
MaydonusageTurobject
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.

Taxalluslar

Model taxalluslari

Ailoot Ultra qwen/qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-thinking

Usul yo‘llari taxalluslari

/chat/completions

Chaqirish uchun tegishli ID lar

qwen/qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-thinking

Ailoot Ultra · Anthropic Messages POST /v1/messages qwen/qwen3-vl-235b-a22b-thinking

qwen/qwen3-vl-235b-a22b-thinking

Alibaba /qwen/qwen3-vl-235b-a22b-thinking
Model ID
  • qwen/qwen3-vl-235b-a22b-thinking
  • qwen3-vl-235b-a22b-thinking

Boshlash

Qwen3-VL-235B-A22B-Thinking — Qwen’ning matn, tasvir va video ustida mulohaza yurituvchi ekspertlar aralashmasiga asoslangan ko‘rish-til modeli. Thinking nashridan STEM savollari, hujjat dalillari, fazoviy munosabatlar, vizual dasturlash va vaqt belgili video tahlili uchun bazaviy 262,144 tokenli kontekst bilan foydalaning.

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
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
qwen/qwen3-vl-235b-a22b-thinking
Standart—
MaydonmessagesTurmessage[]TalabMajburiyQiymatlar va cheklovlarStandart—
Maydonmessages[].roleTurstringTalabMajburiyQiymatlar va cheklovlar
user, assistant
Standart—
Maydonmessages[].contentTurstringTalabMajburiyQiymatlar va cheklovlarStandart—
Maydonmax_tokensTurintegerTalabMajburiyQiymatlar va cheklovlarStandart—
MaydonstreamTurbooleanTalabIxtiyoriyQiymatlar va cheklovlarStandartfalse
Kirish materiallari birikmalari

Matn · UTF-8 matni

messages[].content satri

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablarimodel, messages, max_tokens
Parametroptional_controlsParametr talablaristream
Parametrmaterial_typesParametr talablaritext
Parametrtext_file_materialParametr 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
Ko‘rsatilmagan Tezkor rejim tanlanganda
Flex rejimi
Ko‘rsatilmagan flex rejimi tanlanganda
Maksimal fikrlash darajasi
Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda

Ailoot tariflari

Sozlamalar bo‘yicha narxlar

SozlamaTariflar jadvaliTo‘lov
SozlamaTokenlar uchun bazaviy tariflarTariflar jadvaliAsosiy tarifTo‘lov
Kirish · Kirish tokenlari $0.000572 / 1K token
Chiqish · Chiqish tokenlari $0.00572 / 1K token
Kirish · Keshdan o‘qish $0 / 1K token
Kirish · Keshga yozish $0 / 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

To‘liq minimal JSON so‘rov tanasicurl · O‘zingizning UTF-8 hujjatingizdan foydalaningPython · Natijani to‘liq saqlang
{
  "model": "qwen/qwen3-vl-235b-a22b-thinking",
  "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': 'qwen/qwen3-vl-235b-a22b-thinking', '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': 'qwen/qwen3-vl-235b-a22b-thinking', '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
MaydonTur
MaydonidTurstring
MaydonmodelTurstring
Maydoncontent[]Turtext|thinking|tool_use|other content block
Maydonstop_reasonTurstring|null
MaydonusageTurobject
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.

Taxalluslar

Model taxalluslari

Ailoot Ultra qwen/qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-thinking

Usul yo‘llari taxalluslari

/chat/completions

Chaqirish uchun tegishli ID lar

qwen/qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-thinking

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen3-vl-235b-a22b-thinking

qwen3-vl-235b-a22b-thinking

Alibaba /qwen3-vl-235b-a22b-thinking
Model ID
  • qwen/qwen3-vl-235b-a22b-thinking
  • qwen3-vl-235b-a22b-thinking

Boshlash

Qwen3-VL-235B-A22B-Thinking — Qwen’ning matn, tasvir va video ustida mulohaza yurituvchi ekspertlar aralashmasiga asoslangan ko‘rish-til modeli. Thinking nashridan STEM savollari, hujjat dalillari, fazoviy munosabatlar, vizual dasturlash va vaqt belgili video tahlili uchun bazaviy 262,144 tokenli kontekst bilan foydalaning.

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
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
qwen3-vl-235b-a22b-thinking
Standart—
MaydonmessagesTurmessage[]TalabMajburiyQiymatlar va cheklovlar
Elementlarning eng kam soni: 1
Standart—
Maydonmessages[].roleTurstringTalabMajburiyQiymatlar 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[].contentTurstring|content_part[]|nullTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydonmessages[].tool_callsTurtool_call[]TalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydonmessages[].tool_call_idTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Quyidagi holatda qo‘llanadi: role=tool; haqiqatan qaytarilgan IDdan foydalaning
Standart—
Maydonmessages[].nameTurstringTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydonmessages[].reasoning_contentTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Quyidagi holatda qo‘llanadi: Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring
Standart—
Maydonmessages[].reasoning_detailsTurobject|arrayTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonmax_tokensTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 1
Modelga bogʻliq
Standart—
Maydonmax_completion_tokensTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 1
Modelga bogʻliq
Standart—
MaydonstreamTurbooleanTalabIxtiyoriyQiymatlar va cheklovlarStandartfalse
Maydonstream_options.include_usageTurbooleanTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydontemperatureTurnumberTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydontop_pTurnumberTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonstopTurstring|string[]TalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydontoolsTurfunction_tool[]TalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydontools[].typeTurstringTalabIxtiyoriyQiymatlar va cheklovlar
function
Modelga bogʻliq
Standart—
Maydontools[].function.nameTurstringTalabMajburiyQiymatlar va cheklovlar
Quyidagi holatda qo‘llanadi: Funksiya vositasi taqdim etilgan
Standart—
Maydontools[].function.descriptionTurstringTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydontools[].function.parametersTurJSON_schemaTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Maydontool_choiceTurstring|objectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonparallel_tool_callsTurbooleanTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonresponse_formatTurobjectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonreasoning_effortTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonreasoningTurobjectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonservice_tierTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydoninstructionsTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Moslik maydoni
Standart—
MaydonfunctionsTurfunction[]TalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonfunction_callTurstring|objectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonprompt_cache_optionsTurobjectTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonmodalitiesTurstring[]TalabIxtiyoriyQiymatlar va cheklovlar
text
Standart—
MaydonproviderTurobjectTalabIxtiyoriyQiymatlar va cheklovlar
Shartlar: Ushbu Ultra matn marshrutida provider.options rad etiladi
Standart—
Maydoncache_control.ttlTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Shartlar: Haqiqiy prompt-kesh joylarida 1h rad etiladi
Standart—
Kirish materiallari birikmalari

Matn · UTF8 matni

messages[].content

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablarimodel, messages
Parametrmaterial_typesParametr talablaritext
ParametrmessagesParametr talablarirole/content tuzilishidagi xabarlar massivi
Parametrfile_materialParametr talablariHaqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi
Parametroptional_controlsParametr talablaristream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametrcontrol_scopeParametr talablariModelga xos; foydalanuvchi funksiya vositalari hostingdagi vositalardan farq qiladi
Parametroutput_modalitiesParametr talablaritext
Parametrhosted_operationsParametr talablarifalse
Parametrmultimodal_input_bindingParametr 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
Ko‘rsatilmagan Tezkor rejim tanlanganda
Flex rejimi
Ko‘rsatilmagan flex rejimi tanlanganda
Maksimal fikrlash darajasi
Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda

Ailoot tariflari

Sozlamalar bo‘yicha narxlar

SozlamaTariflar jadvaliTo‘lov
SozlamaTokenlar uchun bazaviy tariflarTariflar jadvaliAsosiy tarifTo‘lov
Kirish · Kirish tokenlari $0.000572 / 1K token
Chiqish · Chiqish tokenlari $0.00572 / 1K token
Kirish · Keshdan o‘qish $0 / 1K token
Kirish · Keshga yozish $0 / 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

curlPython SDKPython oqimi
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen3-vl-235b-a22b-thinking", "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='qwen3-vl-235b-a22b-thinking',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='qwen3-vl-235b-a22b-thinking',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
MaydonTur
Maydonchoices[].indexTurinteger
Maydonchoices[].message.contentTurstring|null
Maydonchoices[].message.tool_callsTurtool_call[]
Maydonchoices[].message.reasoning_contentTurstring
Maydonchoices[].message.reasoning_detailsTurobject|array
Maydonchoices[].finish_reasonTurstring|null
MaydonusageTurobject
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.

Taxalluslar

Model taxalluslari

Ailoot Ultra qwen/qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-thinking

Usul yo‘llari taxalluslari

/chat/completions

Chaqirish uchun tegishli ID lar

qwen/qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-thinking

Ailoot Ultra · Anthropic Messages POST /v1/messages qwen3-vl-235b-a22b-thinking

qwen3-vl-235b-a22b-thinking

Alibaba /qwen3-vl-235b-a22b-thinking
Model ID
  • qwen/qwen3-vl-235b-a22b-thinking
  • qwen3-vl-235b-a22b-thinking

Boshlash

Qwen3-VL-235B-A22B-Thinking — Qwen’ning matn, tasvir va video ustida mulohaza yurituvchi ekspertlar aralashmasiga asoslangan ko‘rish-til modeli. Thinking nashridan STEM savollari, hujjat dalillari, fazoviy munosabatlar, vizual dasturlash va vaqt belgili video tahlili uchun bazaviy 262,144 tokenli kontekst bilan foydalaning.

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
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
qwen3-vl-235b-a22b-thinking
Standart—
MaydonmessagesTurmessage[]TalabMajburiyQiymatlar va cheklovlarStandart—
Maydonmessages[].roleTurstringTalabMajburiyQiymatlar va cheklovlar
user, assistant
Standart—
Maydonmessages[].contentTurstringTalabMajburiyQiymatlar va cheklovlarStandart—
Maydonmax_tokensTurintegerTalabMajburiyQiymatlar va cheklovlarStandart—
MaydonstreamTurbooleanTalabIxtiyoriyQiymatlar va cheklovlarStandartfalse
Kirish materiallari birikmalari

Matn · UTF-8 matni

messages[].content satri

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablarimodel, messages, max_tokens
Parametroptional_controlsParametr talablaristream
Parametrmaterial_typesParametr talablaritext
Parametrtext_file_materialParametr 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
Ko‘rsatilmagan Tezkor rejim tanlanganda
Flex rejimi
Ko‘rsatilmagan flex rejimi tanlanganda
Maksimal fikrlash darajasi
Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda

Ailoot tariflari

Sozlamalar bo‘yicha narxlar

SozlamaTariflar jadvaliTo‘lov
SozlamaTokenlar uchun bazaviy tariflarTariflar jadvaliAsosiy tarifTo‘lov
Kirish · Kirish tokenlari $0.000572 / 1K token
Chiqish · Chiqish tokenlari $0.00572 / 1K token
Kirish · Keshdan o‘qish $0 / 1K token
Kirish · Keshga yozish $0 / 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

To‘liq minimal JSON so‘rov tanasicurl · O‘zingizning UTF-8 hujjatingizdan foydalaningPython · Natijani to‘liq saqlang
{
  "model": "qwen3-vl-235b-a22b-thinking",
  "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': 'qwen3-vl-235b-a22b-thinking', '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': 'qwen3-vl-235b-a22b-thinking', '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
MaydonTur
MaydonidTurstring
MaydonmodelTurstring
Maydoncontent[]Turtext|thinking|tool_use|other content block
Maydonstop_reasonTurstring|null
MaydonusageTurobject
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.

Taxalluslar

Model taxalluslari

Ailoot Ultra qwen/qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-thinking

Usul yo‘llari taxalluslari

/chat/completions

Chaqirish uchun tegishli ID lar

qwen/qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-thinking

FAQ · qwen/qwen3-vl-235b-a22b-thinking
Qanday kirish ma’lumotlari va natijalar mavjud?

POST /v1/chat/completions · qwen/qwen3-vl-235b-a22b-thinking: text → text

POST /v1/messages · qwen/qwen3-vl-235b-a22b-thinking: text → json, sse

POST /v1/chat/completions · qwen3-vl-235b-a22b-thinking: text → text

POST /v1/messages · qwen3-vl-235b-a22b-thinking: text → json, sse

So‘rov qaysi maydonlardan foydalanadi?

POST /v1/chat/completions · qwen/qwen3-vl-235b-a22b-thinking: model, messages, stream

POST /v1/messages · qwen/qwen3-vl-235b-a22b-thinking: model, messages, max_tokens, stream

POST /v1/chat/completions · qwen3-vl-235b-a22b-thinking: model, messages, stream, modalities, provider

POST /v1/messages · qwen3-vl-235b-a22b-thinking: model, messages, max_tokens, stream

Qanday cheklovlar amal qiladi?

POST /v1/chat/completions · qwen/qwen3-vl-235b-a22b-thinking: messages.min_items: 1

POST /v1/chat/completions · qwen3-vl-235b-a22b-thinking: messages.min_items: 1

Batafsil

Ailoot’ni Claude Code, OpenCode, Hermes yoki ilovangizga ulang.

Kompaniya va uning loyihalar portfeli

Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.

Tokenlarni chegirma bilan xarid qiling.

Muntazam ish uchun obuna chegirmasi. Token xaridiga promokodlar — 50% gacha.

Obuna
Muntazam so‘rovlaringiz uchun chegirmali tarif tanlang.
50% gacha promokod
Xaridda kod kiriting. Narx amaldagi aksiya bilan qayta hisoblanadi.
Tarixdagi xarajatlar
Har so‘rov uchun model, token va summa saqlanadi.

Obuna tanlash · Model narxlarini ko‘rish

API’ni sotadigan mahsulotingizga ulang.

SaaS, ilova va botlar Ailoot ofertasi hamda litsenziya shartnomasiga muvofiq. Qayta sotishga reseller litsenziyasi so‘rang.

Tijorat ilovasi
Xizmatingizning pullik funksiyalariga matn, rasm, video va ovoz yaratishni qo‘shing.
Reseller litsenziyasi
Loyiha tavsifi va kirish sxemasini yuboring. Foydalanish va qayta sotishga yozma shartlarni so‘rang.
Saytdagi hujjatlar
Oferta, litsenziya shartnomasi va ma’lumotlar siyosati ulashdan oldin ochiq.

Reseller litsenziyasini so‘rash · Oferta va litsenziya shartnomasi