Source: https://ailoot.ai/models/sk/qvq-plus/
Canonical: https://ailoot.ai/models/sk/qvq-plus/
Language: sk

# QvQ-Plus

[Markdown](https://ailoot.ai/models/sk/qvq-plus/index.md) · [JSON](https://ailoot.ai/models/sk/qvq-plus/facts.json)

## [QvQ-Plus](https://ailoot.ai/models/sk/qvq-plus/)

QVQ-Plus spája textovú otázku s obrázkami alebo videom a vytvára odôvodnenú textovú odpoveď. Použite ho na vizuálne matematické úlohy, analýzu grafov a dokumentov alebo otázky, ktorých záver závisí od viacerých viditeľných detailov; rad Plus si zachováva vlastnú identitu.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qvq-plus`](https://ailoot.ai/models/sk/qvq-plus/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qvq-plus`](https://ailoot.ai/models/sk/qvq-plus/#method-1)

O modeli

Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.

QVQ-Plus je rad Plus vizuálnych modelov QVQ na uvažovanie od Qwen. Výrobca zdôrazňuje matematiku, programovanie, vizuálnu analýzu, tvorivú prácu a všeobecné úlohy zahŕňajúce vizuálne podklady. Prijíma text, obrázky a video a vracia text vrátane postupu uvažovania a odpovede. Názov Plus označuje identitu rodiny a nenahrádza pevne určenú verziu QVQ-Max ani model na generovanie obrázkov.

Zdokumentované kontextové okno má 131 072 tokenov, maximálny vstup 106 496 tokenov a maximálny výstup 8 192 tokenov. Pri plánovaní požiadavky tieto limity rozlišujte. Zahrňte písomnú úlohu, relevantný vizuálny materiál a potrebnú históriu konverzácie a potom ponechajte priestor na vysvetlenie a konečnú odpoveď. Príspevok snímky obrazovky alebo videa určuje ich spracovaná reprezentácia, takže samotný počet napísaných znakov nie je dostatočnou mierou celého vstupu.

Výrobca opisuje QVQ ako spojenie vizuálneho vstupu s uvažovaním a textovou odpoveďou. Zdokumentovaný postup služby QVQ používa priebežné streamovanie. Aplikácia by mala odlíšiť priebežné uvažovanie od fragmentov konečnej odpovede a zostaviť text predtým, než ho predstaví ako dokončené vysvetlenie. Aj požadovanej stručnej odpovedi môže predchádzať vnútorné uvažovanie; požiadavka na stručnosť nemení model na samostatnú edíciu bez uvažovania.

Pri grafe alebo tabuľke uveďte, aké porovnanie treba vykonať, a poskytnite čitateľné označenia, jednotky a nadpisy. Napríklad sa opýtajte, či sa dva vykreslené rady vo vybranom rozsahu rozchádzajú, a potom si vyžiadajte viditeľné pozorovania podporujúce záver. Ak odpoveď potrebuje číselné hodnoty, uistite sa, že sú v zdroji prítomné, a požiadajte model, aby uviedol neistotu tam, kde je možné len približné vizuálne odčítanie. Uchovajte pôvodný obrázok, aby sa výsledok dal skontrolovať oproti podkladom.

Pri dokumente alebo snímke rozhrania definujte cieľ používateľa a časť materiálu určenú na analýzu. Užitočná požiadavka sa môže pýtať, ktoré viditeľné polia sú potrebné pre uvedený pracovný postup, ako je stránka usporiadaná alebo čo vyplýva zo spojníc diagramu. Pri vizuálnej programátorskej úlohe poskytnite snímku obrazovky a písomné požiadavky a potom žiadajte textové vysvetlenie alebo návrh implementácie zodpovedajúci viditeľnej štruktúre. Odlíšte vlastnosti, ktoré možno pozorovať, od tých, ktoré závisia od skrytého správania aplikácie.

Pri videu určte udalosť, sekvenciu alebo vzťah, ktorý chcete vysvetliť. Zachovajte relevantný úsek a tam, kde záleží na drobných detailoch, poskytnite čitateľné statické snímky. Viaceré vstupy označte a vysvetlite ich poradie, aby sa porovnanie nezamieňalo s nesúvisiacimi scénami. Výsledkom je textový opis materiálu a záver k uvedenej otázke; sám osebe neupravuje zdroj, nevytvára nový klip ani neoveruje nič mimo pozorovaného materiálu.

Karta Plus od výrobcu neuvádza podporu volania funkcií, vyhľadávania na webe ani štruktúrovaného výstupu s vynúteným formátom. Textovú odpoveď usporiadajte pomocou jasných nadpisov, porovnávacej tabuľky alebo zoznamu pozorovaní a každý výsledok, ktorý vyzerá ako strojovo čitateľný, overte pred použitím v aplikácii. Referenčná dokumentácia chatu uvádza, že systémové správy nemajú na modely QVQ účinok, preto pokyny k úlohe, role a formátovaniu vložte do používateľskej správy. Zachovajte zdokumentované predvolené nastavenia vzorkovania QVQ a nepreberajte nastavenie teploty ani postup výberu tokenov z inej rodiny Qwen.

Pre užitočný analytický výstup si vyžiadajte pozorované fakty, vysvetlenie a jasne pomenovanú konečnú odpoveď. Výpočty skontrolujte podľa viditeľných čísel, označení a jednotiek a výklad dokumentu podľa časti zdroja, na ktorú sa odvoláva. Keď sa bude prípad znovu posudzovať, uchovajte pri výsledku zvolenú identitu Plus a vstupné materiály. Odôvodnený návrh oddeľte od následného konania: požadovanú operáciu nástroja musí stále vykonať aplikácia alebo človek a vrátiť jej výsledok. Tento model poskytuje vizuálne uvažovanie a text, pričom pôvodný materiál zostáva základom kontroly.

Praktická úloha

### Praktická úloha

Technický príklad v angličtine

```
Compare a transcribed chart trend

Analyze this chart transcription: week 1, signups 100 and activations 80; week 2, signups 150 and activations 90; week 3, signups 200 and activations 100. Calculate activation share each week and explain whether the signup and activation trends tell the same story. Use only these values and distinguish counts from rates.
```

#### Očakávaný výsledok

```
A three-row count-and-rate table followed by a concise trend comparison.
```

#### Overenie výsledku

```
Activation share uses activations divided by signups, and increasing counts are not confused with increasing share.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qvq-plus`

[`qvq-plus`](https://ailoot.ai/models/sk/#m=qvq-plus&route=Ultra&caller=qvq-plus&fmt=chat)

Alibaba /`qvq-plus`

### Úvod

QVQ-Plus spája textovú otázku s obrázkami alebo videom a vytvára odôvodnenú textovú odpoveď. Použite ho na vizuálne matematické úlohy, analýzu grafov a dokumentov alebo otázky, ktorých záver závisí od viacerých viditeľných detailov; rad Plus si zachováva vlastnú identitu.

Povolené vstupy

Text

Výsledky

Text

### Dostupné v Ailoot · vstupy a metódy

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

Vstup

`text`

Výstup

`text`

Výstupný formát

json alebo SSE

| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožiadavkaPovinné | Hodnoty a limity qvq-plus | Predvolené— |
| Pole`messages` | Typ`message[]` | PožiadavkaPovinné | Hodnoty a limity Minimálny počet položiek: 1 | Predvolené— |
| Pole`messages[].role` | Typ`string` | PožiadavkaPovinné | Hodnoty a limity Príklady: system, user, assistant, tool, function Podmienky: Tieto roly sú výslovne zastúpené typmi kompatibility v zdrojovom kóde; presný súbor rolí zostáva závislý od modelu. Závisí od modelu | Predvolené— |
| Pole`messages[].content` | Typ`string\|content_part[]\|null` | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
| Pole`messages[].tool_calls` | Typ`tool_call[]` | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
| Pole`messages[].tool_call_id` | Typ`string` | PožiadavkaVoliteľné | Hodnoty a limity Platí, keď: role=tool; použite skutočne vrátené ID | Predvolené— |
| Pole`messages[].name` | Typ`string` | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
| Pole`messages[].reasoning_content` | Typ`string` | PožiadavkaVoliteľné | Hodnoty a limity Platí, keď: Posielajte späť skutočne vrátené uvažovanie, ak ho tento model používa | Predvolené— |
| Pole`messages[].reasoning_details` | Typ`object\|array` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`max_tokens` | Typ`integer` | PožiadavkaVoliteľné | Hodnoty a limity Minimum: 1 Závisí od modelu | Predvolené— |
| Pole`max_completion_tokens` | Typ`integer` | PožiadavkaVoliteľné | Hodnoty a limity Minimum: 1 Závisí od modelu | Predvolené— |
| Pole`stream` | Typ`boolean` | PožiadavkaVoliteľné | Hodnoty a limity | Predvolenéfalse |
| Pole`stream_options.include_usage` | Typ`boolean` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`temperature` | Typ`number` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`top_p` | Typ`number` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`stop` | Typ`string\|string[]` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`tools` | Typ`function_tool[]` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`tools[].type` | Typ`string` | PožiadavkaVoliteľné | Hodnoty a limity function Závisí od modelu | Predvolené— |
| Pole`tools[].function.name` | Typ`string` | PožiadavkaPovinné | Hodnoty a limity Platí, keď: poskytnutý nástroj typu funkcia | Predvolené— |
| Pole`tools[].function.description` | Typ`string` | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
| Pole`tools[].function.parameters` | Typ`JSON_schema` | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
| Pole`tool_choice` | Typ`string\|object` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`parallel_tool_calls` | Typ`boolean` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`response_format` | Typ`object` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`reasoning_effort` | Typ`string` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`reasoning` | Typ`object` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`service_tier` | Typ`string` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`instructions` | Typ`string` | PožiadavkaVoliteľné | Hodnoty a limity Pole kompatibility | Predvolené— |
| Pole`functions` | Typ`function[]` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`function_call` | Typ`string\|object` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`prompt_cache_options` | Typ`object` | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
| Pole`modalities` | Typ`string[]` | PožiadavkaVoliteľné | Hodnoty a limity text | Predvolené— |
| Pole`provider` | Typ`object` | PožiadavkaVoliteľné | Hodnoty a limity Podmienky: provider.options sa na tejto textovej trase Ultra odmieta | Predvolené— |
| Pole`cache_control.ttl` | Typ`string` | PožiadavkaVoliteľné | Hodnoty a limity Podmienky: Hodnota 1h sa v skutočne používaných poliach cache promptov odmieta | Predvolené— |

Kombinácie vstupných podkladov

**Text** · Text UTF8

`messages[].content`

Parametre a životný cyklus metódy

| Parameter | Špecifikácia |
| --- | --- |
| Parameter`content_type` | Špecifikáciaapplication/json |
| Parameter`required` | Špecifikáciamodel, messages |
| Parameter`material_types` | Špecifikáciatext |
| Parameter`messages` | Špecifikáciapole správ so štruktúrou role/content |
| Parameter`file_material` | Špecifikáciaskutočný dokument UTF-8 vložený ako doslovný text; ID súboru sa neodvodzuje |
| Parameter`optional_controls` | Špecifikáciastream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parameter`control_scope` | Špecifikáciazávisí od modelu; používateľské nástroje typu funkcia sa líšia od nástrojov prevádzkovaných službou |
| Parameter`output_modalities` | Špecifikáciatext |
| Parameter`hosted_operations` | Špecifikáciafalse |
| Parameter`multimodal_input_binding` | Špecifikácianull |

Životný cyklus: `synchronous_or_streamed`

Pošlite presné ID modelu spolu s messages.

Dĺžka kontextu nie je horná hranica výstupu.

Textový súbor môže poskytnúť doslovný text; obrazové a zvukové vstupy a vstupy so súborovými objektmi potrebujú presné naviazanie.

### Cenník

Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.

Rýchly režim

Neuvedené Keď je zvolený rýchly režim

Režim Flex

Neuvedené Keď je zvolený režim flex

Maximálna úroveň uvažovania

Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)

#### Sadzby Ailoot

#### Ceny podľa konfigurácie

| Konfigurácia | Sadzobník | Poplatok |
| --- | --- | --- |
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Poplatok Vstup · Vstupné tokeny **$0.00058** / 1K tokenov Výstup · Výstupné tokeny **$0.00144** / 1K tokenov Vstup · Čítanie cache **$0** / 1K tokenov Vstup · Zápis do cache **$0** / 1K tokenov Vstup · Zápis do cache, 1 hod **—** / 1K tokenov |

Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. [Ako funguje rezervácia a vyúčtovanie →](https://ailoot.ai/docs/sk/billing/reserve/)

### Príklady požiadaviek

#### Ailoot Ultra · OpenAI Chat

curlPython SDKStreamovanie v jazyku Python

```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": "qvq-plus", "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='qvq-plus',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='qvq-plus',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")
```

### Prijať a uložiť výsledky

#### Ailoot Ultra · OpenAI Chat

json alebo SSE

##### Uchovať všetky dokončené výsledky

Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.

Zachovajte každý variant odpovede a jeho obsah, volania nástrojov a uvažovanie. V SSE zostavujte čiastkové zmeny podľa indexu variantu/nástroja a zachovajte konečný dôvod ukončenia aj údaje o spotrebe.

##### Ak treba overiť pôvodnú odpoveď

Zachovajte ID požiadaviek/odpovedí aj hlavičky. Všeobecná URL na načítanie textovej úlohy nie je poskytnutá.

Polia odpovede

| Pole | Typ |
| --- | --- |
| Pole`choices[].index` | Typinteger |
| Pole`choices[].message.content` | Typstring\|null |
| Pole`choices[].message.tool_calls` | Typtool\_call\[\] |
| Pole`choices[].message.reasoning_content` | Typstring |
| Pole`choices[].message.reasoning_details` | Typobject\|array |
| Pole`choices[].finish_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Chyby a ďalšie kroky

| Odpoveď | Podmienka | Ďalší krok |
| --- | --- | --- |
| Odpoveď400 · `invalid_request_error` | PodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametra | Ďalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia. |

### Aliasy

#### Aliasy modelov

**Ailoot Ultra** [`qvq-plus`](https://ailoot.ai/models/sk/#m=qvq-plus&route=Ultra&caller=qvq-plus&fmt=chat)

#### Aliasy ciest metód

Použite cesty metód uvedené vyššie.

#### Súvisiace ID na volanie

[`qvq-plus`](https://ailoot.ai/models/sk/#m=qvq-plus&route=Ultra&caller=qvq-plus&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qvq-plus`

[`qvq-plus`](https://ailoot.ai/models/sk/#m=qvq-plus&route=Ultra&caller=qvq-plus&fmt=messages)

Alibaba /`qvq-plus`

### Úvod

QVQ-Plus spája textovú otázku s obrázkami alebo videom a vytvára odôvodnenú textovú odpoveď. Použite ho na vizuálne matematické úlohy, analýzu grafov a dokumentov alebo otázky, ktorých záver závisí od viacerých viditeľných detailov; rad Plus si zachováva vlastnú identitu.

Povolené vstupy

Text

Výsledky

json · sse

### Dostupné v Ailoot · vstupy a metódy

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Vstup

`text`

Výstup

`json`, `sse`

Výstupný formát

JSON alebo SSE

| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožiadavkaPovinné | Hodnoty a limity qvq-plus | Predvolené— |
| Pole`messages` | Typ`message[]` | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
| Pole`messages[].role` | Typ`string` | PožiadavkaPovinné | Hodnoty a limity user, assistant | Predvolené— |
| Pole`messages[].content` | Typ`string` | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
| Pole`max_tokens` | Typ`integer` | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
| Pole`stream` | Typ`boolean` | PožiadavkaVoliteľné | Hodnoty a limity | Predvolenéfalse |

Kombinácie vstupných podkladov

**Text** · Text UTF-8

`reťazec messages[].content`

Parametre a životný cyklus metódy

| Parameter | Špecifikácia |
| --- | --- |
| Parameter`content_type` | Špecifikáciaapplication/json |
| Parameter`required` | Špecifikáciamodel, messages, max\_tokens |
| Parameter`optional_controls` | Špecifikáciastream |
| Parameter`material_types` | Špecifikáciatext |
| Parameter`text_file_material` | ŠpecifikáciaPrečítajte skutočný dokument UTF-8 a vložte jeho text do uvedeného vstupného reťazca alebo reťazca obsahu správy. |

Životný cyklus: `synchronous_or_streamed`

### Cenník

Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.

Rýchly režim

Neuvedené Keď je zvolený rýchly režim

Režim Flex

Neuvedené Keď je zvolený režim flex

Maximálna úroveň uvažovania

Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)

#### Sadzby Ailoot

#### Ceny podľa konfigurácie

| Konfigurácia | Sadzobník | Poplatok |
| --- | --- | --- |
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Poplatok Vstup · Vstupné tokeny **$0.00058** / 1K tokenov Výstup · Výstupné tokeny **$0.00144** / 1K tokenov Vstup · Čítanie cache **$0** / 1K tokenov Vstup · Zápis do cache **$0** / 1K tokenov Vstup · Zápis do cache, 1 hod **—** / 1K tokenov |

Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. [Ako funguje rezervácia a vyúčtovanie →](https://ailoot.ai/docs/sk/billing/reserve/)

### Príklady požiadaviek

#### Ailoot Ultra · Anthropic Messages

Úplné minimálne telo požiadavky vo formáte JSONcurl · použite svoj dokument UTF-8Python · uložte úplný výsledok

```json
{
  "model": "qvq-plus",
  "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': 'qvq-plus', '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': 'qvq-plus', '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))
```

### Prijať a uložiť výsledky

#### Ailoot Ultra · Anthropic Messages

JSON alebo SSE

##### Uchovať všetky dokončené výsledky

Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.

Zachovajte všetky bloky obsahu, podpisy uvažovania a skutočné ID volaní nástrojov. Zostavte všetky čiastkové zmeny blokov SSE; prvý textový blok nie je celý výstup.

##### Ak treba overiť pôvodnú odpoveď

Zachovajte ID požiadaviek/odpovedí aj hlavičky. Všeobecná URL na načítanie textovej úlohy nie je poskytnutá.

Polia odpovede

| Pole | Typ |
| --- | --- |
| Pole`id` | Typstring |
| Pole`model` | Typstring |
| Pole`content[]` | Typtext\|thinking\|tool\_use\|other content block |
| Pole`stop_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Chyby a ďalšie kroky

| Odpoveď | Podmienka | Ďalší krok |
| --- | --- | --- |
| Odpoveď400 · `invalid_request_error` | PodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametra | Ďalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia. |

### Aliasy

#### Aliasy modelov

**Ailoot Ultra** [`qvq-plus`](https://ailoot.ai/models/sk/#m=qvq-plus&route=Ultra&caller=qvq-plus&fmt=messages)

#### Aliasy ciest metód

Použite cesty metód uvedené vyššie.

#### Súvisiace ID na volanie

[`qvq-plus`](https://ailoot.ai/models/sk/#m=qvq-plus&route=Ultra&caller=qvq-plus&fmt=messages)

FAQ · QvQ-Plus

Aké vstupy a výsledky sú dostupné?

`POST /v1/chat/completions` · `qvq-plus`: `text` → `text` `POST /v1/messages` · `qvq-plus`: `text` → `json`, `sse`

Aké polia používa požiadavka?

`POST /v1/chat/completions` · `qvq-plus`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qvq-plus`: `model`, `messages`, `max_tokens`, `stream`

Aké limity platia?

`POST /v1/chat/completions` · `qvq-plus`: `messages.min_items`: `1`

Pripojte Ailoot k Claude Code, OpenCode, Hermes alebo vlastnej aplikácii.

## Spoločnosť a jej portfólio projektov

Spoločnosť a jej portfólio projektov: milióny zákazníkov; mesačné tržby v miliardách.

## Nakupujte tokeny so zľavou.

Zľava predplatného na pravidelnú prácu. Promo kódy až 50% na nákup tokenov.

Predplatné

Na pravidelné požiadavky vyberte tarifu so zľavou.

Promo kód až 50%

Pri nákupe zadajte kód. Cena sa prepočíta podľa prebiehajúcej akcie.

Výdavky v histórii

Pri každej požiadavke sa uloží model, tokeny a suma.

[Vybrať predplatné](https://ailoot.ai/docs/sk/billing/subscriptions/) · [Zobraziť ceny modelov](https://ailoot.ai/models/sk/)

## Pripojte API k produktu, ktorý predávate.

SaaS, aplikácie a boti podľa ponuky a licenčnej zmluvy Ailoot. Na ďalší predaj požiadajte o licenciu predajcu.

Komerčná aplikácia

Začleňte generovanie textu, obrázkov, videa a zvuku do platených funkcií svojej služby.

Licencia pre predajcu

Pošlite popis projektu a spôsob poskytovania prístupu. Vyžiadajte písomné podmienky použitia a ďalšieho predaja.

Dokumenty na webe

Ponuka, licenčná zmluva a zásady spracovania dát sú dostupné pred pripojením.

[Požiadať o licenciu predajcu](mailto:support@ailoot.ai) · [Ponuka a licenčná zmluva](https://ailoot.ai/legal/offer?lang=sk)

## Ailoot · Spoločnosť a jej portfólio projektov





Ailoot stavia na dlhodobých prevádzkových skúsenostiach, širokej klientskej základni, stabilných službách a priebežnom sledovaní KPI.





Spoločnosť a jej portfólio projektov: milióny zákazníkov; mesačné tržby v miliardách.





Ailoot využíva tieto prevádzkové skúsenosti na poskytovanie prístupu cez API k funkciám AI v produktoch zákazníkov, agentoch, aplikáciách a automatizáciách.
