Source: https://ailoot.ai/models/lt/qwen-qwen3-omni-30b-a3b-thinking/
Canonical: https://ailoot.ai/models/lt/qwen-qwen3-omni-30b-a3b-thinking/
Language: lt

# Qwen3 Omni 30B A3B Thinking

[Markdown](https://ailoot.ai/models/lt/qwen-qwen3-omni-30b-a3b-thinking/index.md) · [JSON](https://ailoot.ai/models/lt/qwen-qwen3-omni-30b-a3b-thinking/facts.json)

## [Qwen3 Omni 30B A3B Thinking](https://ailoot.ai/models/lt/qwen-qwen3-omni-30b-a3b-thinking/)

Qwen3-Omni-30B-A3B-Thinking samprotauja apie tekstą, vaizdus, garsą ir vaizdo įrašus bei grąžina tekstą. Ši tik Thinker turinti laida tinka vaizdinei matematikai, garso analizei ir klausimams, kuriems reikia kelių duomenų rūšių įrodymų; kalbos generavimas priklauso kitai Omni laidai.

- [**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `Qwen/Qwen3-Omni-30B-A3B-Thinking`](https://ailoot.ai/models/lt/qwen-qwen3-omni-30b-a3b-thinking/#method-0)
- [**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `Qwen/Qwen3-Omni-30B-A3B-Thinking`](https://ailoot.ai/models/lt/qwen-qwen3-omni-30b-a3b-thinking/#method-1)

Apie modelį

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

Qwen3-Omni-30B-A3B-Thinking yra į samprotavimą orientuotas Qwen3-Omni šeimos narys. Jis supranta tekstą, vaizdus, garsą ir vaizdo įrašus, įskaitant jų derinius tame pačiame pokalbyje, ir pateikia tekstinį rezultatą. Konkrečioje Thinking laidoje yra Thinker komponentas ir ji pritaikyta samprotavimui; joje nėra Talker, naudojamo sakytinei išvesčiai Instruct modelio versijoje. Šis skirtumas svarbus renkantis modelį analitinei ataskaitai, o ne įgarsintam pokalbiui.

Gamintojas aprašo Qwen3-Omni kaip daugiakalbę ekspertų mišinio šeimą su 119 teksto kalbų ir 19 kalbos įvesties kalbų. Rusų kalba yra paskelbtame kalbos įvesties sąraše. Konkreti Thinking konfigūracija apima 48 tekstinio transformerio sluoksnius, 128 ekspertus ir aštuonis ekspertus, pasirenkamus kiekvienam žetonui. Joje taip pat yra garso ir vaizdų apdorojimo komponentai. Tai įvardytos modelio versijos ypatybės; jos daugiarūšio supratimo nereikėtų pakeisti vien tekstinio Qwen3 modelio su panašia dydžio žyma gebėjimais.

Naudojimo praktiniai vadovai apima kalbos atpažinimą ir vertimą, muzikos ir aplinkos garsų analizę, mišrų garsą, klausimus apie vaizdus, OCR, objektų vietos nustatymą, vaizdo aprašymus ir audiovizualinius klausimus. Matematika iš vaizdų konkrečiai pabrėžia Thinking laidą. Geometrijos užduočiai pateikite visą diagramą, įskaitomas žymas ir klausimą, tada paprašykite sprendimo, atskiriančio matomus duomenis nuo prielaidų. Įrašytai demonstracijai nurodykite tiriamą veiksmą ar neatitikimą ir paprašykite stebėjimų, susietų su atitinkamomis medžiagos dalimis. Laukiamas artefaktas gali būti rašytinis sprendimas, struktūrizuotas stebėjimų sąrašas ar paaiškinimas, ką pagrindžia turimi duomenys.

Parenkite įvestį kaip daugiarūšį pokalbį, naudodami atitinkamą procesorių ir pokalbio šabloną. Gamintojo apdorojimo priemonių rinkinys tvarko kaitaliojamą tekstą, vaizdus, garsą ir vaizdo įrašus. Qwen aprašo srautinius teksto atsakymus kaip šeimos sąveikos struktūros dalį ir demonstruoja mišrios medijos paketinį išvedimą su tik tekstine išvestimi. Kiekviename dialogo ėjime gamintojas rekomenduoja aiškią tekstinę instrukciją kartu su medija. Vien vaizdo įrašas palieka užduotį neaiškią: nurodykite, ar apibendrinti veiksmus, palyginti dvi scenas, paaiškinti garsą, ar išspręsti rodomą uždavinį. Pažymėkite kelias įvestis ir jų ryšį, kad galutinis tekstas susietų teisingą klausimą su teisinga medžiaga.

Vaizdo įrašui, kuriame yra kalbos ar įvykių garsų, nuspręskite, ar jo garsas yra užduoties dalis. Dokumentuota eiga nuosekliai naudoja use\_audio\_in\_video per išankstinį apdorojimą ir generavimą, o kortelė įspėja, kad šios nuostatos keitimas tarp dialogo ėjimų gali sukelti netikėtus rezultatus. Todėl klausimui tik apie sceną ir audiovizualiniam klausimui reikia skirtingo parengimo. Išlaikykite originalų įrašą prieinamą, pasirinkite susijusį intervalą ir nepašalinkite garso takelio, jei prašoma išvada priklauso nuo to, kas buvo pasakyta ar išgirsta.

Paskelbtoje tekstinėje konfigūracijoje max\_position\_embeddings nustatomas į 65 536. Kortelės vLLM pavyzdžiuose atskirai naudojama 32 768 žetonų modelio ilgio nuostata ir 16 384 žetonų generavimo nuostata. Tai rodo sukonfigūruotą išvedimo pavyzdį, o ne vieną visuotinę maksimalią išvesties ribą. Medija atvaizduojama per procesorių, todėl užklausos dydis nėra vien įvestų simbolių skaičius. Palikite vietos tekstiniam rezultatui ir naudokite ribotą šaltinio segmentą, kai ilgame įraše tik trumpas įvykis susijęs su klausimu.

Gamintojas demonstruoja Transformers ir vLLM darbo eigas, aiškiai įvardydamas procesoriaus palaikymą bei medijos dekodavimą kaip priklausomybes. Bendra kortelė taip pat dokumentuoja sąsajų skirtumus, įskaitant atskirą vaizdo ir garso apdorojimą aptarnavimo pavyzdyje. Pasirinkite konkrečią Thinking modelio versiją ir jos palaikomą apdorojimo kelią, užuot manę, kad kiekvienas šeimos kortelės pavyzdys turi tą pačią išvesties elgseną. Tame puslapyje esantys kalbos balsai ir Talker valdymo parinktys taikomi Instruct, o ne šiam tik Thinker turinčiam modeliui.

Naudingam galutiniam rezultatui paprašykite duomenimis pagrįsto paaiškinimo ir aiškiai atskirtos išvados. Vaizdiniame uždavinyje išlaikykite vienetus, simbolius ir žymas; garse atskirkite girdimą turinį nuo numanomo šaltinio; vaizdo įraše atskirkite stebėtus veiksmus nuo ketinimų interpretacijos. Tikrinkite rezultatą pagal pateiktą medžiagą ir aiškiai įvardykite neaiškias ar neįskaitomas detales. Modelio tekstinis atsakymas gali padėti analizei ar vėlesniam programos etapui, o bet koks įrankio vykdymas, fakto patvirtinimas ar medijos transformacija lieka atskira operacija, kuriai reikia savo įvesties ir rezultato.

Praktinė užduotis

### Praktinė užduotis

Techninis pavyzdys anglų kalba

```
Reconcile demonstration annotations

Analyze these supplied text annotations of a demonstration. T0 visual note: valve indicator reads Closed. T1 speech transcript: "I am opening the valve now." T2 visual note: indicator still reads Closed; valve mechanism is off camera. State what each source establishes, whether successful opening is confirmed and what evidence would resolve the discrepancy.
```

#### Laukiamas rezultatas

```
An evidence table separating visual notes from quoted speech, followed by a conclusion and one verification need.
```

#### Rezultato patikra

```
Check that a spoken intention is not treated as proof of the off-camera action or a faulty indicator.
```

**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `Qwen/Qwen3-Omni-30B-A3B-Thinking`

[`Qwen/Qwen3-Omni-30B-A3B-Thinking`](https://ailoot.ai/models/lt/#m=Qwen%2FQwen3-Omni-30B-A3B-Thinking&route=Ultra&caller=Qwen%2FQwen3-Omni-30B-A3B-Thinking&fmt=chat)

Alibaba /`Qwen/Qwen3-Omni-30B-A3B-Thinking`

### Pradžia

Qwen3-Omni-30B-A3B-Thinking samprotauja apie tekstą, vaizdus, garsą ir vaizdo įrašus bei grąžina tekstą. Ši tik Thinker turinti laida tinka vaizdinei matematikai, garso analizei ir klausimams, kuriems reikia kelių duomenų rūšių įrodymų; kalbos generavimas priklauso kitai Omni laidai.

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-Omni-30B-A3B-Thinking | 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

Nenurodyta Pasirinkus spartųjį režimą

Flex režimas

Nenurodyta Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

| Konfigūracija | Įkainių lentelė | Mokestis |
| --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Mokestis Įvestis · Įvesties tokenai **$0.0002** / 1K tokenų Išvestis · Išvesties tokenai **$0.0008** / 1K tokenų Įvestis · Talpyklos skaitymas **$0** / 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-Omni-30B-A3B-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
```

```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-Omni-30B-A3B-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"))
```

```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-Omni-30B-A3B-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")
```

### 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-Omni-30B-A3B-Thinking`](https://ailoot.ai/models/lt/#m=Qwen%2FQwen3-Omni-30B-A3B-Thinking&route=Ultra&caller=Qwen%2FQwen3-Omni-30B-A3B-Thinking&fmt=chat)

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

[`Qwen/Qwen3-Omni-30B-A3B-Thinking`](https://ailoot.ai/models/lt/#m=Qwen%2FQwen3-Omni-30B-A3B-Thinking&route=Ultra&caller=Qwen%2FQwen3-Omni-30B-A3B-Thinking&fmt=chat)

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `Qwen/Qwen3-Omni-30B-A3B-Thinking`

[`Qwen/Qwen3-Omni-30B-A3B-Thinking`](https://ailoot.ai/models/lt/#m=Qwen%2FQwen3-Omni-30B-A3B-Thinking&route=Ultra&caller=Qwen%2FQwen3-Omni-30B-A3B-Thinking&fmt=messages)

Alibaba /`Qwen/Qwen3-Omni-30B-A3B-Thinking`

### Pradžia

Qwen3-Omni-30B-A3B-Thinking samprotauja apie tekstą, vaizdus, garsą ir vaizdo įrašus bei grąžina tekstą. Ši tik Thinker turinti laida tinka vaizdinei matematikai, garso analizei ir klausimams, kuriems reikia kelių duomenų rūšių įrodymų; kalbos generavimas priklauso kitai Omni laidai.

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-Omni-30B-A3B-Thinking | 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

Nenurodyta Pasirinkus spartųjį režimą

Flex režimas

Nenurodyta Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

| Konfigūracija | Įkainių lentelė | Mokestis |
| --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Mokestis Įvestis · Įvesties tokenai **$0.0002** / 1K tokenų Išvestis · Išvesties tokenai **$0.0008** / 1K tokenų Įvestis · Talpyklos skaitymas **$0** / 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-Omni-30B-A3B-Thinking",
  "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-Omni-30B-A3B-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
```

```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-Omni-30B-A3B-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))
```

### 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-Omni-30B-A3B-Thinking`](https://ailoot.ai/models/lt/#m=Qwen%2FQwen3-Omni-30B-A3B-Thinking&route=Ultra&caller=Qwen%2FQwen3-Omni-30B-A3B-Thinking&fmt=messages)

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

[`Qwen/Qwen3-Omni-30B-A3B-Thinking`](https://ailoot.ai/models/lt/#m=Qwen%2FQwen3-Omni-30B-A3B-Thinking&route=Ultra&caller=Qwen%2FQwen3-Omni-30B-A3B-Thinking&fmt=messages)

FAQ · Qwen/Qwen3-Omni-30B-A3B-Thinking

Kokios įvestys ir rezultatai prieinami?

`POST /v1/chat/completions` · `Qwen/Qwen3-Omni-30B-A3B-Thinking`: `text` → `text` `POST /v1/messages` · `Qwen/Qwen3-Omni-30B-A3B-Thinking`: `text` → `json`, `sse`

Kokius laukus naudoja užklausa?

`POST /v1/chat/completions` · `Qwen/Qwen3-Omni-30B-A3B-Thinking`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `Qwen/Qwen3-Omni-30B-A3B-Thinking`: `model`, `messages`, `max_tokens`, `stream`

Kokie apribojimai taikomi?

`POST /v1/chat/completions` · `Qwen/Qwen3-Omni-30B-A3B-Thinking`: `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.
