modellen

Qwen: Qwen3.5-9B

Markdown · JSON

Qwen: Qwen3.5-9B

Qwen3.5-9B is Qwens dichte visuele taalmodel met 9 miljard parameters voor tekst, afbeeldingen en video, met tekst als uitvoer. Het combineert redeneren, programmeren, tool calling en meertalig werk, met instelbaar denken en een native context van 262,144 tokens die via configuratie kan worden uitgebreid.

Over het model

Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.

Belangrijkste kenmerken van Qwen3.5 in de dichte 9B-editie

Qwen3.5-9B is het nagetrainde dichte visuele taalcheckpoint met 9 miljard parameters. Het accepteert tekst, afbeeldingen en video en retourneert tekst. De familie verenigt redeneren, programmeren, agents en visueel begrip via vroege fusie van tekstuele en visuele training, reinforcement learning op steeds complexere taken en ondersteuning voor 201 talen en dialecten. Die taaldekking is een mogelijkheid van de familie, geen garantie op gelijke betrouwbaarheid voor elke taal of elk onderwerp.

Geef voor meertalig documentwerk de doeltaal aan, behoud technische termen en vraag het resultaat de gebruikte bronvelden of passages te benoemen. Lever voor een visuele vraag een leesbare afbeelding en een precieze taak aan. Geef voor een klein programmeerverzoek de invoer, het gewenste gedrag en relevante code. Het model genereert geen afbeeldingen of video's wanneer het visueel materiaal analyseert.

Modeloverzicht

Dit exacte 9B-model is dicht, met 32 taalmodellagen en een vision-encoder. De hybride indeling herhaalt drie Gated DeltaNet-lagen, gevolgd door één gated-attention-laag, met dichte feedforwardnetwerken. Multi-token prediction is opgenomen in de training. De familie bevat ook sparse expertmodellen, maar hun beschrijvingen van totale tegenover geactiveerde parameters mogen niet op deze dichte editie worden toegepast.

De native context is 262,144 tokens, met voorwaardelijke uitbreiding tot 1,010,000. De configuratie en numerieke omvang van het model moeten gescheiden blijven van het Base-checkpoint, andere Qwen3.5-groottes en gekwantiseerde builds. Een kleiner parameteraantal identificeert de editie; het legt op zichzelf geen universele responstijd of kwaliteitsrangschikking vast. Voor complexe denktaken beveelt Qwen aan waar mogelijk een geconfigureerde context van ten minste 128K tokens te behouden.

Invoer en antwoordmodi

De maker toont vragen met alleen tekst, afbeeldingen en video. Geef een documentvraag met de relevante pagina en verwachte velden, of een videovraag met de gebeurtenis en het tijdsbereik die van belang zijn. Behoud labels, eenheden en framevolgorde. Vraag om een resultaat dat met de bron kan worden vergeleken, zoals een tabel met geëxtraheerde waarden of een uitleg die het zichtbare bewijs citeert.

Denken is standaard ingeschakeld. enable_thinking kan redeneren uitschakelen voor een direct antwoord, terwijl de oudere soft-promptschakelaars /think en /nothink officieel niet worden ondersteund. Gebruik de sjabloon van de maker en houd het redeneerproces gescheiden van de eindtekst wanneer de interface beide levert. De aanbeveling voor Qwen3.5-geschiedenis is om eindantwoorden zonder hun denkinhoud te bewaren; nieuwer gedrag voor historisch behoud mag niet in deze release worden overgenomen.

Agentgebruik

Qwen documenteert tool calling en beveelt Qwen-Agent aan, met geconfigureerde of via MCP gekoppelde tools, en Qwen Code voor code-agentwerk. Geef de toegestane tools en het waarneembare resultaat aan. Een gekoppelde tool kan een berekening, bronretrieval of echte uitvoeringsfeedback leveren; het model kan die informatie vervolgens in het antwoord gebruiken. De tools en externe handelingen behoren tot de toepassing, dus de modelnaam alleen bewijst geen toegang of uitvoering.

Ultralange tekst

De gedocumenteerde uitbreiding gebruikt YaRN met de eigen positie-instellingen van dit checkpoint. Een factor vier is gericht op de workflow met ongeveer één miljoen tokens; voor 524,288 tokens stelt de maker een factor twee voor. Statische schaling kan de prestaties bij kortere tekst beïnvloeden, dus die moet volgen uit de werkelijke behoefte aan langere context. Invoer, visuele representatie, geschiedenis, redeneren en einduitvoer delen het sequentiebudget. Orden lang materiaal op document- of code-identificatie en laat ruimte voor het gevraagde eindproduct.

Generatieaanbevelingen

De Best Practices van de modelkaart onderscheiden meerdere presets. Algemeen denken gebruikt temperature 1.0, top_p 0.95, top_k 20, min_p 0, presence penalty 1.5 en repetition penalty 1.0. Nauwkeurig programmeren gebruikt temperature 0.6 en presence penalty nul. Algemene directe antwoorden gebruiken temperature 0.7, top_p 0.8 en presence penalty 1.5; top_k is 20, min_p is 0 en repetition penalty is 1.0. Voor redeneertaken met directe antwoorden bevelen de Best Practices in plaats daarvan temperature 1.0, top_p 1.0, top_k 40 en presence penalty 2.0 aan. Dit zijn taakspecifieke procedures, geen waarden om willekeurig te mengen. Hogere presence penalties kunnen taalmenging of een lichte kwaliteitsdaling veroorzaken.

Qwen beveelt een generatiecapaciteit van 32,768 tokens aan voor de meeste vragen en 81,920 voor uitzonderlijk complexe wiskundige of programmeervragen. Dit zijn aanbevelingen en geen onafhankelijke harde uitvoergrenzen. Specificeer het antwoordformaat, zoals een afgebakend wiskundig resultaat of een antwoordveld, en verifieer de conclusie aan de hand van de bron.

Videodetail en inhoudelijke beperkingen

Het videovoorbeeld van de maker gebruikt standaard twee frames per seconde in de ondersteunde workflow. De richtlijnen voor materiaal op uurschaal breiden het videoprocessorbudget uit tot ongeveer 224K videotokens voor bemonstering met hogere frequentie. Dit zijn configuratieafhankelijke voorbeelden, geen universele garantie voor duur of gebeurtenistiming. Houd kleine tekst en belangrijke scèneovergangen leesbaar en controleer geëxtraheerde tekst, berekeningen en gegenereerde code voordat u het resultaat gebruikt. De praktische waarde van de 9B-editie is het gedocumenteerde gecombineerde tekstuele en visuele takengebied en de instelbare antwoordmodus, met behoud van de exacte dichte identiteit.

Praktische taak

Praktische taak

Technisch voorbeeld in het Engels

Implement a small text normaliser

Write a Python function normalise_code(value) for product codes. Trim leading and trailing spaces, convert letters to uppercase and preserve internal hyphens and digits. Empty or whitespace-only input returns an empty string. Provide tests for ' ab-17 ', 'X-0' and '   '. Do not remove punctuation beyond surrounding whitespace or use external packages.

Verwacht resultaat

The complete function and three assert tests preserving the specified code semantics.

Resultaat controleren

The function converts ' ab-17 ' to 'AB-17' while retaining the hyphen and digit order.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen/qwen3.5-9b

qwen/qwen3.5-9b

Alibaba /qwen/qwen3.5-9b

Aan de slag

Qwen3.5-9B is Qwens dichte visuele taalmodel met 9 miljard parameters voor tekst, afbeeldingen en video, met tekst als uitvoer. Het combineert redeneren, programmeren, tool calling en meertalig werk, met instelbaar denken en een native context van 262,144 tokens die via configuratie kan worden uitgebreid.

Toegestane invoer
Tekst
Resultaten
Tekst

Beschikbaar in Ailoot · invoer en methoden

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Invoertypen
text
Uitvoertypen
text
Uitvoerformaat
json of SSE
VeldTypeVereisteWaarden en limietenStandaard
VeldmodelTypestringVereisteVereistWaarden en limieten
qwen/qwen3.5-9b
Standaard—
VeldmessagesTypemessage[]VereisteVereistWaarden en limieten
Minimumaantal items: 1
Standaard—
Veldmessages[].roleTypestringVereisteVereistWaarden en limieten
Voorbeelden: system, user, assistant, tool, function
Voorwaarden: Deze rollen worden expliciet weergegeven door compatibiliteitstypen in de broncode; de exacte rollenverzameling van het model blijft modelspecifiek.
Afhankelijk van het model
Standaard—
Veldmessages[].contentTypestring|content_part[]|nullVereisteOptioneelWaarden en limietenStandaard—
Veldmessages[].tool_callsTypetool_call[]VereisteOptioneelWaarden en limietenStandaard—
Veldmessages[].tool_call_idTypestringVereisteOptioneelWaarden en limieten
Geldt wanneer: role=tool; gebruik het werkelijk teruggegeven ID
Standaard—
Veldmessages[].nameTypestringVereisteOptioneelWaarden en limietenStandaard—
Veldmessages[].reasoning_contentTypestringVereisteOptioneelWaarden en limieten
Geldt wanneer: Stuur de werkelijk teruggegeven redeneringen terug wanneer dit model ze gebruikt
Standaard—
Veldmessages[].reasoning_detailsTypeobject|arrayVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldmax_tokensTypeintegerVereisteOptioneelWaarden en limieten
Minimum: 1
Afhankelijk van het model
Standaard—
Veldmax_completion_tokensTypeintegerVereisteOptioneelWaarden en limieten
Minimum: 1
Afhankelijk van het model
Standaard—
VeldstreamTypebooleanVereisteOptioneelWaarden en limietenStandaardfalse
Veldstream_options.include_usageTypebooleanVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldtemperatureTypenumberVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldtop_pTypenumberVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldstopTypestring|string[]VereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldtoolsTypefunction_tool[]VereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldtools[].typeTypestringVereisteOptioneelWaarden en limieten
function
Afhankelijk van het model
Standaard—
Veldtools[].function.nameTypestringVereisteVereistWaarden en limieten
Geldt wanneer: functietool opgegeven
Standaard—
Veldtools[].function.descriptionTypestringVereisteOptioneelWaarden en limietenStandaard—
Veldtools[].function.parametersTypeJSON_schemaVereisteOptioneelWaarden en limietenStandaard—
Veldtool_choiceTypestring|objectVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldparallel_tool_callsTypebooleanVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldresponse_formatTypeobjectVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldreasoning_effortTypestringVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldreasoningTypeobjectVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldservice_tierTypestringVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldinstructionsTypestringVereisteOptioneelWaarden en limieten
Compatibiliteitsveld
Standaard—
VeldfunctionsTypefunction[]VereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldfunction_callTypestring|objectVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldprompt_cache_optionsTypeobjectVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldmodalitiesTypestring[]VereisteOptioneelWaarden en limieten
text
Standaard—
VeldproviderTypeobjectVereisteOptioneelWaarden en limieten
Voorwaarden: provider.options wordt op deze Ultra-tekstroute geweigerd
Standaard—
Veldcache_control.ttlTypestringVereisteOptioneelWaarden en limieten
Voorwaarden: 1h wordt op de daadwerkelijke locaties voor promptcaching geweigerd
Standaard—
Combinaties van invoermaterialen

Tekst · UTF8-tekst

messages[].content

Methodeparameters en levenscyclus
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, messages
Parametermaterial_typesContracttext
ParametermessagesContractberichtenarray met de structuur role/content
Parameterfile_materialContractwerkelijk UTF-8-document ingevoegd als letterlijke tekst; er wordt geen bestands-ID afgeleid
Parameteroptional_controlsContractstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametercontrol_scopeContractmodelspecifiek; functietools van de gebruiker verschillen van gehoste tools
Parameteroutput_modalitiesContracttext
Parameterhosted_operationsContractfalse
Parametermultimodal_input_bindingContractnull

Levenscyclus: synchronous_or_streamed

Stuur het exacte model-ID mee met messages.

Contextlengte is geen uitvoerlimiet.

Een tekstbestand kan letterlijke tekst aanleveren; beeld-, audio- en bestandsobjectinvoer vereisen een exacte koppeling.

Tarieven

Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.

Snelle modus
Standaardtarief Wanneer de snelle modus is geselecteerd
Flexmodus
Standaardtarief Wanneer de modus flex is geselecteerd
Maximale redeneerinspanning
Standaardtarief Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt

Ailoot-tarieven

Prijzen per configuratie

Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.

ConfiguratieTariefstaffelContexttokens, meer danContexttokens, tot en metKosten
ConfiguratieBasistarieven voor tokensTariefstaffelBasistariefContexttokens, meer dan—Contexttokens, tot en metGeen bovengrensKosten
Invoer · Invoertokens $0.0002 / 1K tokens
Uitvoer · Uitvoertokens $0.0003 / 1K tokens
Invoer · Cache lezen — / 1K tokens
Invoer · Cache schrijven — / 1K tokens
Invoer · Cache schrijven, 1 uur — / 1K tokens
ConfiguratieNiveau 1 voor aanvraaglengteTariefstaffel—Contexttokens, meer dan0Contexttokens, tot en metGeen bovengrensKosten
Invoer · Invoertokens $0.0002 / 1K tokens
Uitvoer · Uitvoertokens $0.0003 / 1K tokens
Invoer · Cache lezen — / 1K tokens
Invoer · Cache schrijven — / 1K tokens
Invoer · Cache schrijven, 1 uur — / 1K tokens

Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →

Voorbeeldverzoeken

Ailoot Ultra · OpenAI Chat

curlPython SDKPython-stream
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.5-9b", "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='qwen/qwen3.5-9b',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='qwen/qwen3.5-9b',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")

Resultaten ophalen en opslaan

Ailoot Ultra · OpenAI Chat

json of SSE

Alle voltooide resultaten bewaren

Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.

Bewaar elke keuze en de bijbehorende inhoud, toolaanroepen en redeneringen. Voeg in SSE delta’s samen per keuze-/toolindex en bewaar de uiteindelijke reden van beëindiging en de verbruiksgegevens.

Als het oorspronkelijke antwoord moet worden gecontroleerd

Bewaar aanvraag-/antwoord-ID’s en headers. Er wordt geen algemene URL meegeleverd om teksttaken op te halen.

Antwoordvelden
VeldType
Veldchoices[].indexTypeinteger
Veldchoices[].message.contentTypestring|null
Veldchoices[].message.tool_callsTypetool_call[]
Veldchoices[].message.reasoning_contentTypestring
Veldchoices[].message.reasoning_detailsTypeobject|array
Veldchoices[].finish_reasonTypestring|null
VeldusageTypeobject
Fouten en vervolgstappen
AntwoordVoorwaardeVolgende stap
Antwoord400 · invalid_request_errorVoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldigVolgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag.

Aliasnamen

Modelaliasnamen

Ailoot Ultra qwen/qwen3.5-9b

Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

Gerelateerde aanroeper-ID’s

qwen/qwen3.5-9b

Ailoot Ultra · Anthropic Messages POST /v1/messages qwen/qwen3.5-9b

qwen/qwen3.5-9b

Alibaba /qwen/qwen3.5-9b

Aan de slag

Qwen3.5-9B is Qwens dichte visuele taalmodel met 9 miljard parameters voor tekst, afbeeldingen en video, met tekst als uitvoer. Het combineert redeneren, programmeren, tool calling en meertalig werk, met instelbaar denken en een native context van 262,144 tokens die via configuratie kan worden uitgebreid.

Toegestane invoer
Tekst
Resultaten
json · sse

Beschikbaar in Ailoot · invoer en methoden

Ailoot Ultra · Anthropic Messages POST /v1/messages
Invoertypen
text
Uitvoertypen
json, sse
Uitvoerformaat
JSON of SSE
VeldTypeVereisteWaarden en limietenStandaard
VeldmodelTypestringVereisteVereistWaarden en limieten
qwen/qwen3.5-9b
Standaard—
VeldmessagesTypemessage[]VereisteVereistWaarden en limietenStandaard—
Veldmessages[].roleTypestringVereisteVereistWaarden en limieten
user, assistant
Standaard—
Veldmessages[].contentTypestringVereisteVereistWaarden en limietenStandaard—
Veldmax_tokensTypeintegerVereisteVereistWaarden en limietenStandaard—
VeldstreamTypebooleanVereisteOptioneelWaarden en limietenStandaardfalse
Combinaties van invoermaterialen

Tekst · UTF-8-tekst

messages[].content als tekenreeks

Methodeparameters en levenscyclus
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, messages, max_tokens
Parameteroptional_controlsContractstream
Parametermaterial_typesContracttext
Parametertext_file_materialContractLees het werkelijke UTF-8-document en plaats de tekst ervan in de aangegeven invoer of in de inhoudstekenreeks van een bericht.

Levenscyclus: synchronous_or_streamed

Tarieven

Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.

Snelle modus
Standaardtarief Wanneer de snelle modus is geselecteerd
Flexmodus
Standaardtarief Wanneer de modus flex is geselecteerd
Maximale redeneerinspanning
Standaardtarief Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt

Ailoot-tarieven

Prijzen per configuratie

Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.

ConfiguratieTariefstaffelContexttokens, meer danContexttokens, tot en metKosten
ConfiguratieBasistarieven voor tokensTariefstaffelBasistariefContexttokens, meer dan—Contexttokens, tot en metGeen bovengrensKosten
Invoer · Invoertokens $0.0002 / 1K tokens
Uitvoer · Uitvoertokens $0.0003 / 1K tokens
Invoer · Cache lezen — / 1K tokens
Invoer · Cache schrijven — / 1K tokens
Invoer · Cache schrijven, 1 uur — / 1K tokens
ConfiguratieNiveau 1 voor aanvraaglengteTariefstaffel—Contexttokens, meer dan0Contexttokens, tot en metGeen bovengrensKosten
Invoer · Invoertokens $0.0002 / 1K tokens
Uitvoer · Uitvoertokens $0.0003 / 1K tokens
Invoer · Cache lezen — / 1K tokens
Invoer · Cache schrijven — / 1K tokens
Invoer · Cache schrijven, 1 uur — / 1K tokens

Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →

Voorbeeldverzoeken

Ailoot Ultra · Anthropic Messages

Volledige minimale JSON-bodycurl · gebruik je UTF-8-documentPython · sla het volledige resultaat op
{
  "model": "qwen/qwen3.5-9b",
  "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': 'qwen/qwen3.5-9b', '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': 'qwen/qwen3.5-9b', '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))

Resultaten ophalen en opslaan

Ailoot Ultra · Anthropic Messages

JSON of SSE

Alle voltooide resultaten bewaren

Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.

Bewaar alle inhoudsblokken, handtekeningen van redeneringen en werkelijke toolgebruik-ID’s. Voeg alle SSE-blokdelta’s samen; het eerste tekstblok is niet de volledige uitvoer.

Als het oorspronkelijke antwoord moet worden gecontroleerd

Bewaar aanvraag-/antwoord-ID’s en headers. Er wordt geen algemene URL meegeleverd om teksttaken op te halen.

Antwoordvelden
VeldType
VeldidTypestring
VeldmodelTypestring
Veldcontent[]Typetext|thinking|tool_use|other content block
Veldstop_reasonTypestring|null
VeldusageTypeobject
Fouten en vervolgstappen
AntwoordVoorwaardeVolgende stap
Antwoord400 · invalid_request_errorVoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldigVolgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag.

Aliasnamen

Modelaliasnamen

Ailoot Ultra qwen/qwen3.5-9b

Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

Gerelateerde aanroeper-ID’s

qwen/qwen3.5-9b

FAQ · Qwen: Qwen3.5-9B
Welke invoer en resultaten zijn beschikbaar?

POST /v1/chat/completions · qwen/qwen3.5-9b: text → text

POST /v1/messages · qwen/qwen3.5-9b: text → json, sse

Welke velden gebruikt het verzoek?

POST /v1/chat/completions · qwen/qwen3.5-9b: model, messages, stream, modalities, provider

POST /v1/messages · qwen/qwen3.5-9b: model, messages, max_tokens, stream

Welke limieten gelden?

POST /v1/chat/completions · qwen/qwen3.5-9b: messages.min_items: 1

Meer details

Verbind Ailoot met Claude Code, OpenCode, Hermes of je eigen applicatie.

Het bedrijf en zijn projectenportefeuille

Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.

Koop tokens met korting.

Abonnementsvoordeel voor regelmatig gebruik. Promotiecodes geven tot 50% korting op tokens.

Abonnement
Kies een abonnement met korting voor je terugkerende verzoeken.
Promotiecode tot 50%
Vul de code bij aankoop in. De prijs wordt volgens de lopende actie herberekend.
Kosten in de geschiedenis
Model, tokens en bedrag worden per verzoek bewaard.

Kies een abonnement · Bekijk modelprijzen

Verbind de API met het product dat je verkoopt.

SaaS, apps en bots volgens de openbare aanbodvoorwaarden en licentieovereenkomst van Ailoot. Vraag voor doorverkoop een resellerlicentie aan.

Commerciële applicatie
Voeg tekst-, beeld-, video- en geluidsgeneratie aan betaalde functies van je service toe.
Resellerlicentie
Stuur een projectbeschrijving en toegangsschema. Vraag schriftelijke voorwaarden voor gebruik en doorverkoop.
Documenten op de site
Aanbodvoorwaarden, licentieovereenkomst en gegevensbeleid zijn vóór het verbinden beschikbaar.

Vraag een resellerlicentie aan · Aanbodvoorwaarden en licentieovereenkomst