Source: https://ailoot.ai/models/lt/qwen-qwen3-vl-235b-a22b-instruct/
Canonical: https://ailoot.ai/models/lt/qwen-qwen3-vl-235b-a22b-instruct/
Language: lt

# Qwen: Qwen3 VL 235B A22B Instruct

[Markdown](https://ailoot.ai/models/lt/qwen-qwen3-vl-235b-a22b-instruct/index.md) · [JSON](https://ailoot.ai/models/lt/qwen-qwen3-vl-235b-a22b-instruct/facts.json)

## [Qwen: Qwen3 VL 235B A22B Instruct](https://ailoot.ai/models/lt/qwen-qwen3-vl-235b-a22b-instruct/)

Qwen3-VL-235B-A22B-Instruct yra Qwen instrukcijoms skirta ekspertų mišinio regos ir kalbos laida tekstui, vaizdams bei vaizdo įrašams. Ji grąžina tekstą ar kodą vaizdinėms darbo eigoms, dokumentams, erdviniams klausimams ir STEM užduotims, turi 32 kalbų OCR bei pradinį 262 144 žetonų kontekstą.

- [**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `qwen/qwen3-vl-235b-a22b-instruct`](https://ailoot.ai/models/lt/qwen-qwen3-vl-235b-a22b-instruct/#method-0)
- [**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `qwen/qwen3-vl-235b-a22b-instruct`](https://ailoot.ai/models/lt/qwen-qwen3-vl-235b-a22b-instruct/#method-1)

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

235B-A22B Instruct laida

Qwen3-VL-235B-A22B-Instruct yra instrukcijoms skirtas ekspertų mišinio Qwen3-VL šeimos narys. Jis priima tekstą, vaizdus ir vaizdo įrašus bei generuoja tekstą, įskaitant kodą ar prašomą dokumento artefaktą. Išlaikykite konkrečią Instruct laidą, užuot jai priskyrę Thinking modelio versijos atsako sutartį ar kito dydžio receptą. Naudinga užduotis pateikia modeliui konkretų klausimą ir rezultatą, kurį galima palyginti su pateiktais duomenimis.

Vaizdiniai agentai ir programavimas

Gamintojas aprašo vaizdinių agentų darbo eigas, kurios atpažįsta sąsajos elementus, supranta jų funkcijas ir iškviečia įrankius kompiuterio ar mobiliosioms užduotims. Pateikite ekrano kopiją ir tikslą, tada paprašykite susijusio valdiklio ir pasirinkimą pagrindžiančių duomenų. Prijungta programa atlieka veiksmus ir pateikia rezultatus; sąsajos atpažinimas savaime nevaldo įrenginio.

Programavimas pagal vaizdus apima diagramų turinį ir HTML, CSS ar JavaScript, sukurtus iš vaizdų ar vaizdo įrašų. Pateikite išdėstymo pavyzdį, funkcinius apribojimus ir reikiamą redaguojamą išvestį. Keičiant esamą puslapį, pridėkite susijusį šaltinio kodą ir sąveikos būsenas. Artefakto prašykite atskirai nuo paaiškinimo, kad programavimo darbo eiga galėtų jį atvaizduoti ir peržiūrėti. Sugeneruotas šaltinio kodas lieka pasiūlymu, o ne veikiančios programos įrodymu.

Erdvinis suvokimas ir ilga medžiaga

Qwen dokumentuoja padėčių, žiūros taškų ir uždengimų vertinimus, įskaitant dvimatį vietos nustatymą ir trimatės vietos nustatymo palaikymą. Įvardykite svarbius objektus ir ryšį, tada paklauskite, kokie matomi požymiai pagrindžia išvadą. Vaizdu pagrįsto ryšio nereikėtų laikyti kalibruotu fiziniu matavimu.

Pradinis kontekstas yra 262 144 žetonai. Šeima aprašo knygas ir valandų trukmės vaizdo įrašus su sekundžių lygmens įvykių indeksavimu bei konfigūruojamu išplėtimu maždaug iki milijono žetonų. Prašydami įvykio aprašymo išlaikykite laiką ir šaltinio identifikatorius. Atvaizdavimas ir atranka lemia, kokia medžiaga patenka į užklausą; didelis kontekstas negarantuoja tobulo kiekvieno puslapio ar kadro atsiminimo.

Samprotavimas, atpažinimas ir OCR

Šeima palaiko STEM, matematinius, priežastinius ir loginius vaizdinius klausimus. Pateikite visą sąlygą ir diagramos žymas bei paprašykite modelio prieš išvadą įvardyti naudojamas vertes ar ryšius. Tekstas ir rega derinami, todėl vienas klausimas gali susieti pastraipą su jos paveikslu ir naudotojo instrukcijomis.

Atpažinimas apima žmones, produktus, lankytinus objektus, augalus, gyvūnus ir medijų veikėjus. OCR apima 32 kalbas ir orientuotas į menką apšvietimą, išsiliejimą bei pakreipimą, įskaitant specializuotą žodyną ir ilgų dokumentų struktūrą. Pateikite įskaitomus puslapius ir paprašykite įvardytų laukų, citatų ar lentelės, kurią galima patikrinti pagal vaizdą. Šie taikymai atspindi dokumentuotą apimtį, o ne garantuoja tikslų atpažinimą, transkripciją ar skaičiavimą.

Architektūros atnaujinimai

Paskelbtoje ekspertų mišinio tekstinėje konfigūracijoje yra 94 sluoksniai, 128 ekspertai ir aštuoni ekspertai, pasirenkami kiekvienam žetonui. Interleaved-MRoPE atvaizduoja laiką, plotį ir aukštį samprotavimui apie vaizdo įrašus. DeepStack derina vaizdinius požymius iš kelių koduotuvo lygmenų, o teksto ir laiko žymų suderinimas susieja įvykius su laiko nuorodomis. Rengdami vaizdines užduotis ir lygindami jų rezultatus nuosekliai naudokite šią 235B-A22B Instruct laidą.

Vaizdinių įvesčių parengimas

Šeimos pavyzdžiai apima vien tekstines užklausas, vieną ar kelis vaizdus ir vaizdo įrašus. Pažymėkite vaizdines įvestis ir nurodykite jų ryšius. Vaizdų ir vaizdo įrašų pikselių biudžetai atskiri, o aiškiai nurodyti vaizdo matmenys derinami prie 32 kartotinių. Dokumentuotoji numatytoji vaizdo įrašo sparta yra du kadrai per sekundę, su spartos ar kadrų skaičiaus valdikliais, kur jie palaikomi. Išlaikykite vaizdo įrašo metaduomenis ir venkite keisti dydį du kartus, jei pagalbinė priemonė jau pakeitė medžiagos dydį.

Keliems dokumento puslapiams organizuokite atsakymą pagal puslapio žymą ir paprašykite pagrindžiančių laukų ar ištraukų. Įrašui paprašykite susijusio įvykio, intervalo ir matomų duomenų. Palyginkite grąžintą įvykio intervalą ir pagrindžiančias detales su originaliu įrašu bei jo laiku.

Generavimo rekomendacijos ir ribos

Modelio versijos generavimo failo numatytosios vertės yra temperature 0,7, top\_p 0,8, top\_k 20 ir repetition penalty 1,0. Šeimos Instruct receptas papildomai naudoja presence penalty 1,5 ir 32 768 žetonų išvesties limitą. Šis limitas yra gamintojo recepto biudžetas, o ne nepriklausomai nustatyta griežta išvesties riba. 8B kortelės užduotims skirti limitai ir Thinking laidos nuostatos lieka atskiri.

Šeimos konteksto išplėtimas naudoja YaRN ir siūlo dvigubą ar trigubą mastelį, perkeliant kaitaliojamą pozicinę schemą nuo 256K maždaug iki 1M. Palikite vietos atsakymui kartu su tekstu ir atvaizduota vaizdine medžiaga, tikrinkite citatas, ištrauktus skaičius bei sugeneruotą kodą pagal šaltinį. Naudingas rezultatas yra konkretus tekstinis artefaktas, išlaikantis jį pagrindžiančius vaizdinius duomenis ir tikslų Instruct tapatumą.

Praktinė užduotis

### Praktinė užduotis

Techninis pavyzdys anglų kalba

```
Translate a layout description to HTML

Create a semantic HTML fragment from this text layout specification: a product section contains heading "Travel mug", a paragraph "350 ml, steel", and a list of features "Sealed lid" and "Hand wash". Return editable HTML only, with no scripts or styles. Preserve exact wording and use a heading, paragraph and unordered list.
```

#### Laukiamas rezultatas

```
One semantic HTML fragment using the requested heading, paragraph and two-item list.
```

#### Rezultato patikra

```
Inspect the element hierarchy and exact text; do not add a product image or unprovided features.
```

**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `qwen/qwen3-vl-235b-a22b-instruct`

[`qwen/qwen3-vl-235b-a22b-instruct`](https://ailoot.ai/models/lt/#m=qwen%2Fqwen3-vl-235b-a22b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-235b-a22b-instruct&fmt=chat)

Alibaba /`qwen/qwen3-vl-235b-a22b-instruct`

### Pradžia

Qwen3-VL-235B-A22B-Instruct yra Qwen instrukcijoms skirta ekspertų mišinio regos ir kalbos laida tekstui, vaizdams bei vaizdo įrašams. Ji grąžina tekstą ar kodą vaizdinėms darbo eigoms, dokumentams, erdviniams klausimams ir STEM užduotims, turi 32 kalbų OCR bei pradinį 262 144 žetonų kontekstą.

Leidžiamos įvestys

Tekstas

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions`

Įvestis

`text`

Išvestis

`text`

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos qwen/qwen3-vl-235b-a22b-instruct | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Pavyzdžiai: system, user, assistant, tool, function Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio. Priklauso nuo modelio | Numatyta— |
| Laukas`messages[].content` | Tipas`string\|content_part[]\|null` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_calls` | Tipas`tool_call[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID | Numatyta— |
| Laukas`messages[].name` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].reasoning_content` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja | Numatyta— |
| Laukas`messages[].reasoning_details` | Tipas`object\|array` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`max_completion_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`stream_options.include_usage` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`stop` | Tipas`string\|string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`function_tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos function Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].function.name` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas funkcijos tipo įrankis | Numatyta— |
| Laukas`tools[].function.description` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tools[].function.parameters` | Tipas`JSON_schema` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`response_format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning_effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Suderinamumo laukas | Numatyta— |
| Laukas`functions` | Tipas`function[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`function_call` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`modalities` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos text | Numatyta— |
| Laukas`provider` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas | Numatyta— |
| Laukas`cache_control.ttl` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: 1h atmetamas tikrosiose užklausų podėlio vietose | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`messages[].content`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages |
| Parametras`material_types` | Specifikacijatext |
| Parametras`messages` | Specifikacijapranešimų masyvas su role/content struktūra |
| Parametras`file_material` | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
| Parametras`optional_controls` | Specifikacijastream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametras`control_scope` | Specifikacijapriklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių |
| Parametras`output_modalities` | Specifikacijatext |
| Parametras`hosted_operations` | Specifikacijafalse |
| Parametras`multimodal_input_binding` | Specifikacijanull |

Gyvavimo ciklas: `synchronous_or_streamed`

Siųskite tikslų modelio ID kartu su messages.

Konteksto ilgis nėra išvesties limitas.

Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.000572** / 1K tokenų Išvestis · Išvesties tokenai **$0.0038** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0002** / 1K tokenų Įvestis · Rašymas į talpyklą **$0** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.000572** / 1K tokenų Išvestis · Išvesties tokenai **$0.0038** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0002** / 1K tokenų Įvestis · Rašymas į talpyklą **$0** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI pokalbis

curlPython SDKPython srautas

```bash
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-instruct", "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
```

```python
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-instruct',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"))
```

```python
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='qwen/qwen3-vl-235b-a22b-instruct',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")
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · OpenAI pokalbis

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`choices[].index` | Tipasinteger |
| Laukas`choices[].message.content` | Tipasstring\|null |
| Laukas`choices[].message.tool_calls` | Tipastool\_call\[\] |
| Laukas`choices[].message.reasoning_content` | Tipasstring |
| Laukas`choices[].message.reasoning_details` | Tipasobject\|array |
| Laukas`choices[].finish_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

**Ailoot Ultra** [`qwen/qwen3-vl-235b-a22b-instruct`](https://ailoot.ai/models/lt/#m=qwen%2Fqwen3-vl-235b-a22b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-235b-a22b-instruct&fmt=chat)

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

[`qwen/qwen3-vl-235b-a22b-instruct`](https://ailoot.ai/models/lt/#m=qwen%2Fqwen3-vl-235b-a22b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-235b-a22b-instruct&fmt=chat)

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `qwen/qwen3-vl-235b-a22b-instruct`

[`qwen/qwen3-vl-235b-a22b-instruct`](https://ailoot.ai/models/lt/#m=qwen%2Fqwen3-vl-235b-a22b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-235b-a22b-instruct&fmt=messages)

Alibaba /`qwen/qwen3-vl-235b-a22b-instruct`

### Pradžia

Qwen3-VL-235B-A22B-Instruct yra Qwen instrukcijoms skirta ekspertų mišinio regos ir kalbos laida tekstui, vaizdams bei vaizdo įrašams. Ji grąžina tekstą ar kodą vaizdinėms darbo eigoms, dokumentams, erdviniams klausimams ir STEM užduotims, turi 32 kalbų OCR bei pradinį 262 144 žetonų kontekstą.

Leidžiamos įvestys

Tekstas

Rezultatai

json · sse

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages`

Įvestis

`text`

Išvestis

`json`, `sse`

Išvesties formatas

JSON arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos qwen/qwen3-vl-235b-a22b-instruct | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
| Laukas`messages[].content` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |

Įvesties medžiagos deriniai

**Tekstas** · UTF-8 tekstas

`messages[].content eilutė`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages, max\_tokens |
| Parametras`optional_controls` | Specifikacijastream |
| Parametras`material_types` | Specifikacijatext |
| Parametras`text_file_material` | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |

Gyvavimo ciklas: `synchronous_or_streamed`

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.000572** / 1K tokenų Išvestis · Išvesties tokenai **$0.0038** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0002** / 1K tokenų Įvestis · Rašymas į talpyklą **$0** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.000572** / 1K tokenų Išvestis · Išvesties tokenai **$0.0038** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0002** / 1K tokenų Įvestis · Rašymas į talpyklą **$0** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · Anthropic pranešimai

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą

```json
{
  "model": "qwen/qwen3-vl-235b-a22b-instruct",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
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-instruct', '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
```

```python
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-instruct', '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))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · Anthropic pranešimai

JSON arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`content[]` | Tipastext\|thinking\|tool\_use\|other content block |
| Laukas`stop_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

**Ailoot Ultra** [`qwen/qwen3-vl-235b-a22b-instruct`](https://ailoot.ai/models/lt/#m=qwen%2Fqwen3-vl-235b-a22b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-235b-a22b-instruct&fmt=messages)

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

[`qwen/qwen3-vl-235b-a22b-instruct`](https://ailoot.ai/models/lt/#m=qwen%2Fqwen3-vl-235b-a22b-instruct&route=Ultra&caller=qwen%2Fqwen3-vl-235b-a22b-instruct&fmt=messages)

FAQ · Qwen: Qwen3 VL 235B A22B Instruct

Kokios įvestys ir rezultatai prieinami?

`POST /v1/chat/completions` · `qwen/qwen3-vl-235b-a22b-instruct`: `text` → `text` `POST /v1/messages` · `qwen/qwen3-vl-235b-a22b-instruct`: `text` → `json`, `sse`

Kokius laukus naudoja užklausa?

`POST /v1/chat/completions` · `qwen/qwen3-vl-235b-a22b-instruct`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3-vl-235b-a22b-instruct`: `model`, `messages`, `max_tokens`, `stream`

Kokie apribojimai taikomi?

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

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

## Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

## Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata

Pasirinkite planą su nuolaida reguliarioms užklausoms.

Nuolaidos kodas iki 50%

Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.

Išlaidos istorijoje

Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

[Pasirinkti prenumeratą](https://ailoot.ai/docs/lt/billing/subscriptions/) · [Peržiūrėti modelių kainas](https://ailoot.ai/models/lt/)

## Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa

Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.

Perpardavėjo licencija

Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.

Dokumentai svetainėje

Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

[Paprašyti perpardavėjo licencijos](mailto:support@ailoot.ai) · [Oferta ir licencijos sutartis](https://ailoot.ai/legal/offer?lang=lt)

## Ailoot · Įmonė ir jos projektų portfelis





Ailoot remiasi sukaupta veiklos patirtimi, plačia klientų baze, stabiliomis paslaugomis ir nuolatine KPI kontrole.





Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.





Ailoot šią veiklos patirtį pritaiko teikdama API prieigą prie DI funkcijų klientų produktuose, agentuose, programose ir automatizavimo sprendimuose.
