mallit

QvQ-Max-2025-03-25

Markdown · JSON

QvQ-Max-2025-03-25

QVQ-Max — 2025-03-25 kuuluu Qwenin visuaalisen päättelyn sarjaan. QVQ-Max-perhe analysoi kuvia ja videoita tekstikysymysten rinnalla ja yhdistää visuaaliset havainnot päättelyyn tuottaakseen selityksiä, vaiheittaisia ratkaisuja ja luovaa ohjausta tekstinä.

Tietoa mallista

Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.

QVQ-Max — 2025-03-25 kuuluu Qwenin visuaalisen päättelyn QVQ-sarjaan. QVQ-Max-perhe yhdistää kuvien ja videoiden havainnoinnin näiden tietojen analyysiin. Sen dokumentoidut käyttökohteet kattavat matemaattiset ongelmat, ohjelmoinnin, visuaalisen analyysin, luovan työn ja arkiset kysymykset. Hyödyllinen tulos on tekstiselitys tai ratkaisu, joka liittyy annettuun visuaaliseen havaintoaineistoon.

Tarkka havainnointi tulee ensin. Anna kaaviosta luettavat akselit, selitteet ja tietomerkinnät ja kerro sitten, tuleeko arvoja vertailla, trendi selittää vai tietty väite tutkia. Pyydä päätelmää tukevat havainnot. Säilytä useiden kuvien järjestys ja yksilöi, minkä kuvan tulee tukea kutakin vastausta. Hyvä vertailu nimeää näkyvät erot ja selittää niiden merkityksen kysymykselle sen sijaan, että käsittelisi uskottavaa tulkintaa havaittuna tosiasiana.

Visuaalinen päättely käyttää näitä havaintoja ongelman ratkaisemiseen. Anna kaavioon perustuvaan laskentaan koko kuvitus ja kirjallinen kysymys säilyttäen merkinnät, yksiköt ja annetut ehdot. Pyydä mallia yksilöimään annetut tiedot, selittämään laskelma ja ilmaisemaan tulos pyydetyssä muodossa. Nimeä teknisestä kaaviosta tarkasteltava prosessi tai suhde ja pyydä tiettyihin näkyviin elementteihin sidottu selitys. Jos arvo tai merkintä on epäselvä, pyydä mallia yksilöimään epäselvyys ennen laskennan yrittämistä.

Perhe tukee myös visuaaliseen aineistoon perustuvaa luovaa ja käytännöllistä työtä. Karkea luonnos voi olla kuvitustoimeksiannon lähtökohta, kohtaus voi antaa aineksia lyhyeen videokäsikirjoitukseen ja valokuva voi tukea kuvausta tai vertailua. Anna kohdeyleisö, tarkoitus ja rajoitteet ja pyydä kirjallinen tuotos, kuten muokattu konsepti, kohtausrunko tai selitys. Nämä tehtävät tuottavat tekstimuotoista ohjausta visuaalisen lähteen pohjalta. Säilytä alkuperäinen kuva tai leike, jotta ehdotettuja muutoksia voi verrata ne synnyttäneeseen havaintoaineistoon.

Yksilöi videon ymmärtämistä varten aikaväli tai tapahtuma ja vastattava kysymys. Dokumentoitu QVQ-rajapinta hyväksyy videoaineistoa analysoitavaksi. Jos hienot yksityiskohdat ovat tärkeitä, liitä luettava pysäytyskuva olennaisesta kohtauksesta ja selitä sen suhde leikkeeseen. Pyydä näkyvien toimien tapahtumajärjestys ja päätelmää tukevat havainnot erottaen ne samalla aikomuksen tulkinnasta tai seuraavien tapahtumien ennusteesta. Valitse aineisto kysymyksen vaatiman havaintoaineiston ympäriltä säilyttäen lähdejärjestys.

QVQ:n dokumentoitu päättelytyönkulku yhdistää ajatteluprosessin vastaukseen, ja valmistajan QVQ-palvelukulku käyttää suoratoistettua tulostetta. Pidä päättelykatkelmat erillään vastauskatkelmista ja kokoa valmis vastaus ennen sen käyttöä raporttina, vaiheittaisena ratkaisuna tai käyttäjäohjeena. Keskeytynyt vastaus on tunnistettava keskeneräiseksi. Pyydä tiivis loppuosio, joka kertoo tuloksen, käytetyn havaintoaineiston ja mahdolliset oletukset, jotta päätelmä pysyy helposti tarkastettavana päättelyn valmistuttua.

Valmistajan keskustelurajapinnan viitteen mukaan järjestelmäviesteillä ei ole vaikutusta QVQ:hun. Sijoita varsinainen tehtävä, olennaiset ehdot ja pyydetty vastausmuoto käyttäjäviestiin. Viite suosittelee säilyttämään QVQ:n näytteistyksen oletusasetukset toisesta malliperheestä kopioitujen asetusten sijaan. Pyydetty taulukko voi jäsentää tekstivastausta; jos sovellus käsittelee JSON-tyyppistä tulostetta, tarkista sen rakenne ja arvot ennen käyttöä. Pidä kehote kohdistettuna visuaaliseen kysymykseen ja analyysilta tarvittavaan tuotokseen.

Säilytä käytännöllistä tulosta varten lähdekuva tai -leike valmiin vastauksen yhteydessä. Tarkista laskutoimitukset alkuperäisiä lukuja ja yksiköitä vasten ja vertaa visuaalisia selityksiä todella näkyviin merkintöihin ja kohteisiin. Säilytä täsmällinen päivämäärällä yksilöity mallinimi tehtävätietueessa, kun palaat samaan tapaukseen. Pyydä mallia erottamaan näkyvä havaintoaineisto, oletukset ja päätelmät: sumean symbolin tai näkymättömän tapahtuman varma tulkinta voi muuten muodostua virheellisen laskelman tai päätöksen perustaksi.

Käytännön tehtävä

Käytännön tehtävä

Tekninen esimerkki englanniksi

Solve a described geometry problem

A diagram is described in text: triangle ABC has base AB = 8 cm and perpendicular height from C to line AB = 3 cm. The foot of the height lies outside segment AB. Calculate the area, explain whether the outside foot changes the formula and state which given measurements are sufficient.

Odotettu tulos

A worked area calculation with units and a brief explanation of perpendicular height when its foot is outside the base segment.

Tarkista tulos

Check that the answer uses the perpendicular height, not an inferred side length, and reports square centimeters.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qvq-max-2025-03-25

qvq-max-2025-03-25

Alibaba /qvq-max-2025-03-25

Aloitus

QVQ-Max — 2025-03-25 kuuluu Qwenin visuaalisen päättelyn sarjaan. QVQ-Max-perhe analysoi kuvia ja videoita tekstikysymysten rinnalla ja yhdistää visuaaliset havainnot päättelyyn tuottaakseen selityksiä, vaiheittaisia ratkaisuja ja luovaa ohjausta tekstinä.

Hyväksytyt syötteet
Teksti
Tulokset
Teksti

Saatavilla Ailootissa · syötteet & menetelmät

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Syötetyypit
text
Tulostyypit
text
Tulosteen muoto
json tai SSE
KenttäTyyppiVaatimusArvot & rajatOletus
KenttämodelTyyppistringVaatimusPakollinenArvot & rajat
qvq-max-2025-03-25
Oletus—
KenttämessagesTyyppimessage[]VaatimusPakollinenArvot & rajat
Kohteiden vähimmäismäärä: 1
Oletus—
Kenttämessages[].roleTyyppistringVaatimusPakollinenArvot & rajat
Esimerkit: system, user, assistant, tool, function
Ehdot: Nämä roolit esitetään nimenomaisesti lähdekoodin yhteensopivuustyypeissä; mallin täsmällinen roolijoukko pysyy mallikohtaisena.
Riippuu mallista
Oletus—
Kenttämessages[].contentTyyppistring|content_part[]|nullVaatimusValinnainenArvot & rajatOletus—
Kenttämessages[].tool_callsTyyppitool_call[]VaatimusValinnainenArvot & rajatOletus—
Kenttämessages[].tool_call_idTyyppistringVaatimusValinnainenArvot & rajat
Sovelletaan, kun: role=tool; käytä todella palautettua ID:tä
Oletus—
Kenttämessages[].nameTyyppistringVaatimusValinnainenArvot & rajatOletus—
Kenttämessages[].reasoning_contentTyyppistringVaatimusValinnainenArvot & rajat
Sovelletaan, kun: Palauta todella saatu päättely takaisin mallille, kun kyseinen malli käyttää sitä
Oletus—
Kenttämessages[].reasoning_detailsTyyppiobject|arrayVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
Kenttämax_tokensTyyppiintegerVaatimusValinnainenArvot & rajat
Vähimmäismäärä: 1
Riippuu mallista
Oletus—
Kenttämax_completion_tokensTyyppiintegerVaatimusValinnainenArvot & rajat
Vähimmäismäärä: 1
Riippuu mallista
Oletus—
KenttästreamTyyppibooleanVaatimusValinnainenArvot & rajatOletusfalse
Kenttästream_options.include_usageTyyppibooleanVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
KenttätemperatureTyyppinumberVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
Kenttätop_pTyyppinumberVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
KenttästopTyyppistring|string[]VaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
KenttätoolsTyyppifunction_tool[]VaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
Kenttätools[].typeTyyppistringVaatimusValinnainenArvot & rajat
function
Riippuu mallista
Oletus—
Kenttätools[].function.nameTyyppistringVaatimusPakollinenArvot & rajat
Sovelletaan, kun: funktiotyökalu annettu
Oletus—
Kenttätools[].function.descriptionTyyppistringVaatimusValinnainenArvot & rajatOletus—
Kenttätools[].function.parametersTyyppiJSON_schemaVaatimusValinnainenArvot & rajatOletus—
Kenttätool_choiceTyyppistring|objectVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
Kenttäparallel_tool_callsTyyppibooleanVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
Kenttäresponse_formatTyyppiobjectVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
Kenttäreasoning_effortTyyppistringVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
KenttäreasoningTyyppiobjectVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
Kenttäservice_tierTyyppistringVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
KenttäinstructionsTyyppistringVaatimusValinnainenArvot & rajat
Yhteensopivuuskenttä
Oletus—
KenttäfunctionsTyyppifunction[]VaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
Kenttäfunction_callTyyppistring|objectVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
Kenttäprompt_cache_optionsTyyppiobjectVaatimusValinnainenArvot & rajat
Riippuu mallista
Oletus—
KenttämodalitiesTyyppistring[]VaatimusValinnainenArvot & rajat
text
Oletus—
KenttäproviderTyyppiobjectVaatimusValinnainenArvot & rajat
Ehdot: provider.options hylätään tällä Ultran tekstireitillä
Oletus—
Kenttäcache_control.ttlTyyppistringVaatimusValinnainenArvot & rajat
Ehdot: 1h hylätään varsinaisissa kehotevälimuistin kohdissa
Oletus—
Syöteaineistojen yhdistelmät

Teksti · UTF8-teksti

messages[].content

Menetelmän parametrit ja elinkaari
ParametriSopimus
Parametricontent_typeSopimusapplication/json
ParametrirequiredSopimusmodel, messages
Parametrimaterial_typesSopimustext
ParametrimessagesSopimusviestitaulukko role/content-rakenteella
Parametrifile_materialSopimusvarsinainen UTF-8-asiakirja lisätään sellaisenaan tekstinä; tiedoston ID:tä ei päätellä
Parametrioptional_controlsSopimusstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametricontrol_scopeSopimusmallikohtainen; käyttäjän funktiotyökalut eroavat palvelun isännöimistä työkaluista
Parametrioutput_modalitiesSopimustext
Parametrihosted_operationsSopimusfalse
Parametrimultimodal_input_bindingSopimusnull

Elinkaari: synchronous_or_streamed

Lähetä mallin täsmällinen ID yhdessä messages-kentän kanssa.

Kontekstin pituus ei ole tuloksen yläraja.

Tekstitiedosto voi antaa tekstiä sellaisenaan; kuva-, ääni- ja tiedosto-objektisyötteet tarvitsevat täsmällisen sidonnan.

Hinnoittelu

Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.

Nopea tila
Ei määritetty Kun nopea tila on valittu
Flex-tila
Ei määritetty Kun flex-tila on valittu
Päättelyn enimmäisteho
Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

Ailoot-hinnat

Hinnat asetusten mukaan

AsetuksetHinnastoVeloitus
AsetuksetTokenien perushinnatHinnastoPerushintaVeloitus
Syöte · Syötetokenit $0.0023 / 1K tokenia
Tuloste · Tulostokenit $0.00916 / 1K tokenia
Syöte · Välimuistin luku $0 / 1K tokenia
Syöte · Välimuistiin kirjoitus $0 / 1K tokenia
Syöte · Välimuistiin kirjoitus, 1 tunti — / 1K tokenia

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →

Esimerkkipyynnöt

Ailoot Ultra · OpenAI Chat

curlPython SDKPython-suoratoisto
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-max-2025-03-25", "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='qvq-max-2025-03-25',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='qvq-max-2025-03-25',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")

Vastaanota ja tallenna tulokset

Ailoot Ultra · OpenAI Chat

json tai SSE

Säilytä kaikki valmistuneet tulokset

Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.

Säilytä jokainen vastausvaihtoehto sisältöineen, työkalukutsuineen ja päättelyineen. Kokoa SSE:ssä muutokset vastausvaihtoehdon ja työkalun indeksin mukaan ja säilytä lopullinen päättymissyy sekä käyttötiedot.

Jos alkuperäinen vastaus on tarkistettava

Säilytä pyyntöjen/vastausten ID:t ja otsakkeet. Yleistä tekstityön haku-URL:ää ei anneta.

Vastauksen kentät
KenttäTyyppi
Kenttächoices[].indexTyyppiinteger
Kenttächoices[].message.contentTyyppistring|null
Kenttächoices[].message.tool_callsTyyppitool_call[]
Kenttächoices[].message.reasoning_contentTyyppistring
Kenttächoices[].message.reasoning_detailsTyyppiobject|array
Kenttächoices[].finish_reasonTyyppistring|null
KenttäusageTyyppiobject
Virheet ja seuraavat vaiheet
VastausEhtoSeuraava vaihe
Vastaus400 · invalid_request_errorEhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvoSeuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä.

Aliakset

Mallin aliakset

Ailoot Ultra qvq-max-2025-03-25

Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

Liittyvät kutsujan ID:t

qvq-max-2025-03-25

Ailoot Ultra · Anthropic Messages POST /v1/messages qvq-max-2025-03-25

qvq-max-2025-03-25

Alibaba /qvq-max-2025-03-25

Aloitus

QVQ-Max — 2025-03-25 kuuluu Qwenin visuaalisen päättelyn sarjaan. QVQ-Max-perhe analysoi kuvia ja videoita tekstikysymysten rinnalla ja yhdistää visuaaliset havainnot päättelyyn tuottaakseen selityksiä, vaiheittaisia ratkaisuja ja luovaa ohjausta tekstinä.

Hyväksytyt syötteet
Teksti
Tulokset
json · sse

Saatavilla Ailootissa · syötteet & menetelmät

Ailoot Ultra · Anthropic Messages POST /v1/messages
Syötetyypit
text
Tulostyypit
json, sse
Tulosteen muoto
JSON tai SSE
KenttäTyyppiVaatimusArvot & rajatOletus
KenttämodelTyyppistringVaatimusPakollinenArvot & rajat
qvq-max-2025-03-25
Oletus—
KenttämessagesTyyppimessage[]VaatimusPakollinenArvot & rajatOletus—
Kenttämessages[].roleTyyppistringVaatimusPakollinenArvot & rajat
user, assistant
Oletus—
Kenttämessages[].contentTyyppistringVaatimusPakollinenArvot & rajatOletus—
Kenttämax_tokensTyyppiintegerVaatimusPakollinenArvot & rajatOletus—
KenttästreamTyyppibooleanVaatimusValinnainenArvot & rajatOletusfalse
Syöteaineistojen yhdistelmät

Teksti · UTF-8-teksti

messages[].content-merkkijono

Menetelmän parametrit ja elinkaari
ParametriSopimus
Parametricontent_typeSopimusapplication/json
ParametrirequiredSopimusmodel, messages, max_tokens
Parametrioptional_controlsSopimusstream
Parametrimaterial_typesSopimustext
Parametritext_file_materialSopimusLue varsinainen UTF-8-asiakirja ja sijoita sen teksti ilmoitettuun syöte- tai viestisisällön merkkijonoon.

Elinkaari: synchronous_or_streamed

Hinnoittelu

Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.

Nopea tila
Ei määritetty Kun nopea tila on valittu
Flex-tila
Ei määritetty Kun flex-tila on valittu
Päättelyn enimmäisteho
Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

Ailoot-hinnat

Hinnat asetusten mukaan

AsetuksetHinnastoVeloitus
AsetuksetTokenien perushinnatHinnastoPerushintaVeloitus
Syöte · Syötetokenit $0.0023 / 1K tokenia
Tuloste · Tulostokenit $0.00916 / 1K tokenia
Syöte · Välimuistin luku $0 / 1K tokenia
Syöte · Välimuistiin kirjoitus $0 / 1K tokenia
Syöte · Välimuistiin kirjoitus, 1 tunti — / 1K tokenia

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →

Esimerkkipyynnöt

Ailoot Ultra · Anthropic Messages

Täydellinen minimaalinen JSON-runkocurl · käytä omaa UTF-8-dokumenttiasiPython · tallenna koko tulos
{
  "model": "qvq-max-2025-03-25",
  "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': 'qvq-max-2025-03-25', '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': 'qvq-max-2025-03-25', '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))

Vastaanota ja tallenna tulokset

Ailoot Ultra · Anthropic Messages

JSON tai SSE

Säilytä kaikki valmistuneet tulokset

Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.

Säilytä kaikki sisältölohkot, päättelyallekirjoitukset ja todelliset työkalukäytön ID:t. Kokoa kaikki SSE-lohkomuutokset; ensimmäinen tekstilohko ei ole koko tulos.

Jos alkuperäinen vastaus on tarkistettava

Säilytä pyyntöjen/vastausten ID:t ja otsakkeet. Yleistä tekstityön haku-URL:ää ei anneta.

Vastauksen kentät
KenttäTyyppi
KenttäidTyyppistring
KenttämodelTyyppistring
Kenttäcontent[]Tyyppitext|thinking|tool_use|other content block
Kenttästop_reasonTyyppistring|null
KenttäusageTyyppiobject
Virheet ja seuraavat vaiheet
VastausEhtoSeuraava vaihe
Vastaus400 · invalid_request_errorEhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvoSeuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä.

Aliakset

Mallin aliakset

Ailoot Ultra qvq-max-2025-03-25

Menetelmäpolkujen aliakset

Käytä yllä näytettyjä menetelmäpolkuja.

Liittyvät kutsujan ID:t

qvq-max-2025-03-25

FAQ · QvQ-Max-2025-03-25
Mitä syötteitä ja tuloksia on saatavilla?

POST /v1/chat/completions · qvq-max-2025-03-25: text → text

POST /v1/messages · qvq-max-2025-03-25: text → json, sse

Mitä kenttiä pyyntö käyttää?

POST /v1/chat/completions · qvq-max-2025-03-25: model, messages, stream, modalities, provider

POST /v1/messages · qvq-max-2025-03-25: model, messages, max_tokens, stream

Mitä rajoja sovelletaan?

POST /v1/chat/completions · qvq-max-2025-03-25: messages.min_items: 1

Lisätietoja

Yhdistä Ailoot Claude Codeen, OpenCodeen, Hermesiin tai omaan sovellukseesi.

Yritys ja sen projektisalkku

Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.

Osta tokenit alennuksella.

Tilausalennus säännölliseen käyttöön. Kampanjakoodit — jopa 50% tokeniostoista.

Tilaus
Valitse alennushintainen paketti säännöllisiä pyyntöjäsi varten.
Kampanjakoodi jopa 50%
Syötä koodi oston yhteydessä. Hinta lasketaan uudelleen voimassa olevan kampanjan mukaan.
Kulut historiassa
Malli, tokenit ja summa tallennetaan jokaiselle pyynnölle.

Valitse tilaus · Katso mallihinnat

Yhdistä API tuotteeseen, jonka myyt.

SaaS, sovellukset ja botit Ailootin palveluehtojen ja lisenssisopimuksen mukaisesti. Pyydä edelleenmyyntiin jälleenmyyjälisenssi.

Kaupallinen sovellus
Lisää tekstin, kuvien, videoiden ja äänen luonti palvelusi maksullisiin ominaisuuksiin.
Jälleenmyyjälisenssi
Lähetä projektikuvaus ja pääsyn toteutustapa. Pyydä kirjalliset käyttö- ja jälleenmyyntiehdot.
Asiakirjat verkkosivustolla
Palveluehdot, lisenssisopimus ja tietojenkäsittelykäytäntö ovat saatavilla ennen yhdistämistä.

Pyydä jälleenmyyjälisenssi · Palveluehdot ja lisenssisopimus