modely

Qwen2.5-VL-3b

Markdown · JSON

Qwen2.5-VL-3b

Qwen2.5-VL-3B-Instruct je kompaktní vizuálně jazykový model Qwen doladěný pro plnění instrukcí při práci s textem, obrázky a videem. Vrací text a strukturované vizuální informace včetně polí dokumentů, souřadnic objektů a popisů událostí, s dynamickým rozlišením a zpracováním videa zohledňujícím čas.

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

Úvod: edice 3B doladěná pro plnění instrukcí

Qwen2.5-VL-3B-Instruct je člen rodiny Qwen2.5-VL o velikosti 3B. Přijímá textové instrukce s obrázky nebo videem a generuje textové odpovědi včetně strukturovaných dat. Vyberte jej pro jasně definovanou vizuální otázku, extrakci z dokumentu nebo vysvětlení propojující viditelný obsah s požadavkem uživatele. Tato přesná velikost a vydání si zachovávají vlastní identitu; nelze předpokládat, že funkce přidané výslovně jiným velikostem nebo pozdějším generacím Qwen platí i pro tento checkpoint.

Vizuální porozumění a postupy agentů

Qwen popisuje rozpoznávání běžných objektů a analýzu písma, grafů, ikon, grafiky a rozvržení stránek. U formuláře určete povinná pole a význam prázdné hodnoty. U grafu požadujte osy, jednotky a viditelné hodnoty podporující závěr. Cílený požadavek usnadňuje porovnání výstupu s původním obrázkem více než široký požadavek popsat vše.

Rodina také podporuje uvažování vizuálních agentů a řízení nástrojů pro postupy na počítači nebo telefonu. Model může vyložit rozhraní a pomoci rozhodnout o akci; připojené nástroje aplikace tuto akci provedou. Kontrola snímku obrazovky se může ptát, který ovládací prvek odpovídá úloze a jaké viditelné informace výběr podporují. Takové využití vizuálního uvažování samo o sobě neuděluje kontrolu nad zařízením.

Dlouhé video a lokalizace událostí

Výrobce popisuje porozumění videím delším než jedna hodina a určení úseků relevantních pro požadovanou událost. Jde o schopnost rodiny, nikoli nepodmíněný limit nahrávání médií nebo záruku zachování každého snímku. Připravte příslušný klip, zachovejte jeho časové údaje a položte přesnou otázku na událost, posloupnost nebo změnu. Způsob zpracování videa v modelu používá snímkovou frekvenci ke sladění vizuálních pozorování s absolutním časem.

Lokalizace a strukturované dokumenty

Qwen2.5-VL může vracet polohy objektů jako ohraničující rámečky nebo body se souřadnicemi a atributy v JSON. Při lokalizační úloze pojmenujte cílový objekt a určete, zda má být výsledkem bod nebo rámeček. Konvenci souřadnic výslovně určete v aplikaci využívající výsledek, místo abyste z libovolné fotografie odvozovali fyzické měření.

Výrobce také dokumentuje strukturovanou extrakci z naskenovaných faktur, formulářů a tabulek. Dodejte čitelnou stránku a schéma výstupu: například název pole, extrahovaný text a viditelnou oblast, která jej podporuje. Ve zdroji zachovejte jednotky, desetinné oddělovače a záhlaví tabulek. Nejistý nebo nečitelný obsah považujte za případ ke kontrole, místo abyste model žádali o vymyšlení chybějící hodnoty. Tyto příklady přípravy využívají dokumentované schopnosti; nezaručují přesnou extrakci.

Změny architektury

Dynamické rozlišení obrázků se prostřednictvím trénování s proměnlivou snímkovou frekvencí rozšiřuje na video. Aktualizované multimodální poziční kódování reprezentuje časovou posloupnost a absolutní čas a pomáhá určovat konkrétní okamžiky a změny rychlosti. Vizuální enkodér používá okenní pozornost spolu se SwiGLU a RMSNorm. Tyto změny popisují, jak model zpracovává obrazové materiály; neurčují pevnou latenci konkrétní aplikace.

Příprava obrázků a videa

Oficiální příklady zahrnují jednotlivé obrázky, více obrázků, čistě textové konverzace, videosoubory a uspořádané seznamy snímků. Označte jednotlivé obrazové vstupy, aby na ně otázka mohla odkazovat. Při porovnání obrázků požadujte tabulku uspořádanou podle označení a omezte výsledek na viditelné rozdíly. U časové osy videa zachovejte pořadí snímků a časové údaje, místo abyste předkládali nespojené obrázky, jako by měly známé trvání.

Dokumentovaný výchozí rozsah procesoru obrázků je od čtyř do 16,384 vizuálních tokenů na obrázek. Jeho příklad může nastavením pixelových mezí cílit na 256–1,280 tokenů. V těchto mezích zachovává poměr stran, zatímco výslovně zadané změněné rozměry zarovnává na násobky 28. Více detailů spotřebuje více výpočtů a prostoru sekvence, takže malé textové pole může vyžadovat výřez s vyšším rozlišením, zatímco obecné shrnutí scény nikoli. Jde o ovládání zpracování od výrobce; možnosti nahrávání aplikace se mohou lišit.

Kontext a věcné limity

Zveřejněná konfigurace checkpointu nastavuje maximální počet pozic na 128,000, zatímco doprovodný oddíl o dlouhém textu stále pojednává o počáteční konfiguraci 32,768 tokenů. Příručka popisuje extrapolaci YaRN, ale varuje, že může výrazně ovlivnit časovou a prostorovou lokalizaci, a pro tyto úlohy tuto metodu nedoporučuje. Samostatně uvádí, že poziční kódování videa může umožnit větší nastavení počtu pozic, a jako příklad uvádí 64K. Tyto odlišné popisy konfigurace nelze sloučit do jediného univerzálně ověřeného stropu vstupu.

Text, obrazové materiály a odpověď sdílejí konečný rozpočet sekvence. Zachovejte čitelnost relevantního obsahu, ponechte prostor pro výsledek a ověřte extrahovaný text, souřadnice a časy událostí podle originálu. Příklad generování 128 tokenů na kartě je ilustrativní a neurčuje samostatné pevné maximum výstupu. Tento model vrací textovou analýzu nebo strukturované informace; jeho vizuálně jazykové schopnosti neznamenají, že generuje obrázky nebo video.

Praktická úloha

Praktická úloha

Technický příklad v angličtině

Organize a recorded event timeline

Use only these text annotations from a clip: 00:02 worker picks up a box; 00:05 worker places the box on the scale; 00:08 scale display is obscured; 00:11 worker removes the box. Return the event sequence, the first annotated placement time and whether the weight is established. Preserve timestamps without claiming frame-level inspection.

Očekávaný výsledek

An ordered event table, a placement-time field and an unresolved weight field.

Ověření výsledku

Check that obscured weight remains unknown and the placement timestamp is attributed to the supplied annotation.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen2.5-vl-3b-instruct

qwen2.5-vl-3b-instruct

Alibaba /qwen2.5-vl-3b-instruct

Úvod

Qwen2.5-VL-3B-Instruct je kompaktní vizuálně jazykový model Qwen doladěný pro plnění instrukcí při práci s textem, obrázky a videem. Vrací text a strukturované vizuální informace včetně polí dokumentů, souřadnic objektů a popisů událostí, s dynamickým rozlišením a zpracováním videa zohledňujícím čas.

Přijímané vstupy
Text
Výsledky
Text

Dostupné v Ailoot · vstupy a metody

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Vstup
text
Výstup
text
Výstupní formát
json nebo SSE
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
qwen2.5-vl-3b-instruct
Výchozí—
PolemessagesTypmessage[]PožadavekPovinnéHodnoty a limity
Minimální počet položek: 1
Výchozí—
Polemessages[].roleTypstringPožadavekPovinnéHodnoty a limity
Příklady: system, user, assistant, tool, function
Podmínky: Tyto role jsou výslovně zastoupeny typy kompatibility zdrojového kódu; přesná sada rolí zůstává specifická pro daný model.
Závisí na modelu
Výchozí—
Polemessages[].contentTypstring|content_part[]|nullPožadavekVolitelnéHodnoty a limityVýchozí—
Polemessages[].tool_callsTyptool_call[]PožadavekVolitelnéHodnoty a limityVýchozí—
Polemessages[].tool_call_idTypstringPožadavekVolitelnéHodnoty a limity
Platí, když: role=tool; použijte skutečně vrácené ID
Výchozí—
Polemessages[].nameTypstringPožadavekVolitelnéHodnoty a limityVýchozí—
Polemessages[].reasoning_contentTypstringPožadavekVolitelnéHodnoty a limity
Platí, když: Předávejte zpět skutečně vrácené uvažování tam, kde je tento model používá
Výchozí—
Polemessages[].reasoning_detailsTypobject|arrayPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Polemax_tokensTypintegerPožadavekVolitelnéHodnoty a limity
Minimum: 1
Závisí na modelu
Výchozí—
Polemax_completion_tokensTypintegerPožadavekVolitelnéHodnoty a limity
Minimum: 1
Závisí na modelu
Výchozí—
PolestreamTypbooleanPožadavekVolitelnéHodnoty a limityVýchozífalse
Polestream_options.include_usageTypbooleanPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PoletemperatureTypnumberPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poletop_pTypnumberPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PolestopTypstring|string[]PožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PoletoolsTypfunction_tool[]PožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poletools[].typeTypstringPožadavekVolitelnéHodnoty a limity
function
Závisí na modelu
Výchozí—
Poletools[].function.nameTypstringPožadavekPovinnéHodnoty a limity
Platí, když: nástroj typu funkce je dodán
Výchozí—
Poletools[].function.descriptionTypstringPožadavekVolitelnéHodnoty a limityVýchozí—
Poletools[].function.parametersTypJSON_schemaPožadavekVolitelnéHodnoty a limityVýchozí—
Poletool_choiceTypstring|objectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleparallel_tool_callsTypbooleanPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleresponse_formatTypobjectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Polereasoning_effortTypstringPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PolereasoningTypobjectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleservice_tierTypstringPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PoleinstructionsTypstringPožadavekVolitelnéHodnoty a limity
Pole kompatibility
Výchozí—
PolefunctionsTypfunction[]PožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Polefunction_callTypstring|objectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleprompt_cache_optionsTypobjectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PolemodalitiesTypstring[]PožadavekVolitelnéHodnoty a limity
text
Výchozí—
PoleproviderTypobjectPožadavekVolitelnéHodnoty a limity
Podmínky: provider.options je na této textové trase Ultra odmítáno
Výchozí—
Polecache_control.ttlTypstringPožadavekVolitelnéHodnoty a limity
Podmínky: Hodnota 1h je ve skutečných umístěních mezipaměti promptů odmítána
Výchozí—
Kombinace vstupních materiálů

Text · text UTF8

messages[].content

Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, messages
Parametrmaterial_typesKontrakttext
ParametrmessagesKontraktpole zpráv se strukturou role/content
Parametrfile_materialKontraktskutečný dokument UTF-8 vložený jako doslovný text; ID souboru se neodvozuje
Parametroptional_controlsKontraktstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametrcontrol_scopeKontraktspecifické pro model; nástroje uživatelských funkcí se liší od hostovaných nástrojů
Parametroutput_modalitiesKontrakttext
Parametrhosted_operationsKontraktfalse
Parametrmultimodal_input_bindingKontraktnull

Životní cyklus: synchronous_or_streamed

Odešlete přesné ID modelu spolu s messages.

Délka kontextu není limitem výstupu.

Textový soubor může dodat doslovný text; obrazové/zvukové vstupy a vstupy v podobě souborových objektů vyžadují přesnou vazbu.

Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim
Neuvedeno Při výběru rychlého režimu
Režim flex
Neuvedeno Při výběru režimu flex
Maximální intenzita uvažování
Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

Sazby Ailoot

Ceny podle konfigurace

KonfiguraceTabulka sazebPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaPoplatek
Vstup · Vstupní tokeny $0.0004 / 1K tokenů
Výstup · Výstupní tokeny $0.0012 / 1K tokenů
Vstup · Čtení z mezipaměti $0 / 1K tokenů
Vstup · Zápis do mezipaměti $0 / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →

Příklady požadavků

Ailoot Ultra · OpenAI Chat

curlPython SDKStreamování v Pythonu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen2.5-vl-3b-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
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='qwen2.5-vl-3b-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"))
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='qwen2.5-vl-3b-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")

Přijímání a ukládání výsledků

Ailoot Ultra · OpenAI Chat

json nebo SSE

Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Zachovejte každou volbu a její obsah/volání nástrojů/uvažování. V SSE sestavujte přírůstky podle indexu volby/nástroje a zachovejte konečný důvod ukončení i údaje o využití.

Pokud je nutné ověřit původní odpověď

Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.

Pole odpovědi
PoleTyp
Polechoices[].indexTypinteger
Polechoices[].message.contentTypstring|null
Polechoices[].message.tool_callsTyptool_call[]
Polechoices[].message.reasoning_contentTypstring
Polechoices[].message.reasoning_detailsTypobject|array
Polechoices[].finish_reasonTypstring|null
PoleusageTypobject
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametruDalší krokPřed novým požadavkem na vytvoření opravte uvedená pole.

Aliasy

Aliasy modelu

Ailoot Ultra qwen2.5-vl-3b-instruct

Aliasy cest metod

Použijte cesty metod uvedené výše.

Související ID modelů

qwen2.5-vl-3b-instruct

Ailoot Ultra · Anthropic Messages POST /v1/messages qwen2.5-vl-3b-instruct

qwen2.5-vl-3b-instruct

Alibaba /qwen2.5-vl-3b-instruct

Úvod

Qwen2.5-VL-3B-Instruct je kompaktní vizuálně jazykový model Qwen doladěný pro plnění instrukcí při práci s textem, obrázky a videem. Vrací text a strukturované vizuální informace včetně polí dokumentů, souřadnic objektů a popisů událostí, s dynamickým rozlišením a zpracováním videa zohledňujícím čas.

Přijímané vstupy
Text
Výsledky
json · sse

Dostupné v Ailoot · vstupy a metody

Ailoot Ultra · Anthropic Messages POST /v1/messages
Vstup
text
Výstup
json, sse
Výstupní formát
JSON nebo SSE
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
qwen2.5-vl-3b-instruct
Výchozí—
PolemessagesTypmessage[]PožadavekPovinnéHodnoty a limityVýchozí—
Polemessages[].roleTypstringPožadavekPovinnéHodnoty a limity
user, assistant
Výchozí—
Polemessages[].contentTypstringPožadavekPovinnéHodnoty a limityVýchozí—
Polemax_tokensTypintegerPožadavekPovinnéHodnoty a limityVýchozí—
PolestreamTypbooleanPožadavekVolitelnéHodnoty a limityVýchozífalse
Kombinace vstupních materiálů

Text · text UTF-8

řetězec messages[].content

Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, messages, max_tokens
Parametroptional_controlsKontraktstream
Parametrmaterial_typesKontrakttext
Parametrtext_file_materialKontraktPřečtěte skutečný dokument UTF-8 a vložte jeho text do uvedeného pole input nebo do řetězce obsahu zprávy.

Životní cyklus: synchronous_or_streamed

Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim
Neuvedeno Při výběru rychlého režimu
Režim flex
Neuvedeno Při výběru režimu flex
Maximální intenzita uvažování
Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

Sazby Ailoot

Ceny podle konfigurace

KonfiguraceTabulka sazebPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaPoplatek
Vstup · Vstupní tokeny $0.0004 / 1K tokenů
Výstup · Výstupní tokeny $0.0012 / 1K tokenů
Vstup · Čtení z mezipaměti $0 / 1K tokenů
Vstup · Zápis do mezipaměti $0 / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →

Příklady požadavků

Ailoot Ultra · Anthropic Messages

Úplné minimální tělo požadavku JSONcurl · použijte svůj dokument UTF-8Python · uložte úplný výsledek
{
  "model": "qwen2.5-vl-3b-instruct",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen2.5-vl-3b-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
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': 'qwen2.5-vl-3b-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))

Přijímání a ukládání výsledků

Ailoot Ultra · Anthropic Messages

JSON nebo SSE

Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Zachovejte všechny bloky obsahu, podpisy uvažování a skutečná ID použití nástrojů. Sestavte všechny přírůstky bloků SSE; první textový blok není úplný výstup.

Pokud je nutné ověřit původní odpověď

Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.

Pole odpovědi
PoleTyp
PoleidTypstring
PolemodelTypstring
Polecontent[]Typtext|thinking|tool_use|other content block
Polestop_reasonTypstring|null
PoleusageTypobject
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametruDalší krokPřed novým požadavkem na vytvoření opravte uvedená pole.

Aliasy

Aliasy modelu

Ailoot Ultra qwen2.5-vl-3b-instruct

Aliasy cest metod

Použijte cesty metod uvedené výše.

Související ID modelů

qwen2.5-vl-3b-instruct

FAQ · Qwen2.5-VL-3b
Jaké vstupy a výsledky jsou dostupné?

POST /v1/chat/completions · qwen2.5-vl-3b-instruct: text → text

POST /v1/messages · qwen2.5-vl-3b-instruct: text → json, sse

Jaká pole požadavek používá?

POST /v1/chat/completions · qwen2.5-vl-3b-instruct: model, messages, stream, modalities, provider

POST /v1/messages · qwen2.5-vl-3b-instruct: model, messages, max_tokens, stream

Jaké limity platí?

POST /v1/chat/completions · qwen2.5-vl-3b-instruct: messages.min_items: 1

Další podrobnosti

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné
Pro pravidelné požadavky vyberte tarif se slevou.
Promo kód až 50%
Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.
Výdaje v historii
U každého požadavku se uloží model, tokeny a částka.

Vybrat předplatné · Zobrazit ceny modelů

Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace
Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.
Licence pro přeprodejce
Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.
Dokumenty na webu
Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

Požádat o licenci přeprodejce · Nabídka a licenční smlouva