Source: https://ailoot.ai/models/sv/qwen-qwen3-30b-a3b-fp8/
Canonical: https://ailoot.ai/models/sv/qwen-qwen3-30b-a3b-fp8/
Language: sv

# Qwen3 30B A3B FP8

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

## [Qwen3 30B A3B FP8](https://ailoot.ai/models/sv/qwen-qwen3-30b-a3b-fp8/)

Qwen3-30B-A3B-FP8 är Qwens FP8-kvantiserade mixture-of-experts-textmodell med valbara lägen för tänkande och direkta svar. Använd den för matematiskt resonemang, programmering, flerspråkigt skrivande och verktygsstödda arbetsflöden och bevara den exakta FP8-utgåvan och dess kontextkonfiguration.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/sv/qwen-qwen3-30b-a3b-fp8/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/sv/qwen-qwen3-30b-a3b-fp8/#method-1)

Om modellen

Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.

Qwen3:s förmågor

Qwen3-30B-A3B-FP8 erbjuder Qwens hybrida textgenereringsmodell som en finkornig FP8-kontrollpunkt. Den tar emot textsamtal och producerar text: förklaringar, kod, översättningar, kreativt skrivande och svar över flera turer. Qwen3-familjen stöder 119 språk och dialekter, inklusive flerspråkiga instruktioner. De två svarslägena gör att ett arbetsflöde kan reservera uttryckligt resonemang för matematik, programmering och logiska problem och sedan använda direkta svar för enklare omskrivning eller dialog. Språktäckning innebär inte samma tillförlitlighet för varje språk eller specialistområde.

Modellöversikt

Modellen har totalt 30,5 miljarder parametrar och aktiverar 3,3 miljarder för en token. Dess mixture-of-experts-arkitektur använder 128 experter och väljer åtta per token över 48 lager. Detta är siffror för modellarkitekturen; det mindre aktiverade antalet betyder inte att hela kontrollpunkten bara innehåller 3,3 miljarder parametrar. Detta är FP8-utgåvan av Qwen3-30B-A3B, skild från dess ursprungliga kontrollpunkt med annan numerisk precision och från de senare Thinking-2507- och Instruct-2507-utgåvorna.

Använda textgränssnittet

Förbered uppgiften, relevant källtext och det förväntade svarsformatet tillsammans. För en felsökningsbegäran bör du ange funktionen som misslyckas, det observerade felet, det avsedda beteendet och minimala indata och sedan be om en förklaring följd av en korrigering och föreslagna kontroller. För flerspråkig redigering bör du ange målspråk, målgrupp och termer som måste vara oförändrade. Be om en kompakt slutleverans när en lång förklaring skulle skymma resultatet. Detta är praktiska sätt att använda de dokumenterade text- och kodförmågorna, inte garantier för att genererad kod har körts.

FP8-utgåva

Qwen anger finkornig FP8-kvantisering med viktblock på 128 gånger 128. Kontrollpunktens konfiguration lämnar utvalda komponenter utanför konverteringen och använder dynamisk aktiveringskvantisering. FP8 beskriver numerisk representation, inte ett nytt samtalsläge eller en utlovad svarstid. Kompatibilitet spelar roll: Qwens kort anger ett förbehåll för distribuerad inferens på flera enheter med denna kvantiseringsmetod. En kvantiserad kontrollpunkt bör därför behålla sitt exakta utgåvenamn i stället för att obemärkt ärva påståenden om en annan version.

Lägen för tänkande och direkta svar

Tillverkarens chattmall aktiverar tänkande som standard. I det läget föregår ett resonemangsblock slutsvaret. Den hårda inställningen enable\_thinking=False undertrycker blocket. Med tänkande aktiverat ger /think och /no\_think vägledning per tur enligt den senaste instruktionen; ett tomt resonemangsblock kan fortfarande visas med den mjuka avstängningen. Promptmarkörerna kan inte åsidosätta den hårda avstängningen. Detta är dokumenterade tillverkarkontroller; om en applikation exponerar dem beror på dess gränssnitt.

Agentanvändning

Qwen dokumenterar verktygsanrop i båda lägena och rekommenderar Qwen-Agent för de mallar och den parsning som behövs. Ge en agent en tydlig verktygsbeskrivning, tillåtna indata och en bestämd leverans, exempelvis att kontrollera angivna data innan den skriver ett rapportutkast. Modellen kan delta i ett verktygsflöde; sökning, kodkörning och externa åtgärder kommer från verktygen som applikationen ansluter. Verktygsförmåga i sig ger inte modellen tillgång till filer eller aktuell information.

Lång text

Qwen beskriver en inbyggd kontext på 32 768 token och validerar utökning till 131 072 med YaRN. Indata, samtalshistorik, resonemang och svar konkurrerar om kontextutrymmet. Den levererade positionskonfigurationen är 40 960; Qwen förklarar detta som en fördelning för typiska prompter och utökad generering, snarare än en ersättning för den angivna inbyggda kontexten. Statisk YaRN kan minska kvaliteten för kortare indata, så utökningen är villkorad av konfiguration och behov. För dokumentarbete bör du märka avsnitt och be svaret identifiera de passager som stöder varje slutsats.

Generering och begränsningar

Qwen rekommenderar temperature 0.6, top\_p 0.95, top\_k 20 och min\_p 0 för tänkande och 0.7, 0.8, 20 och 0 för direkta svar. Girig avkodning kan ge försämrat resonemang eller upprepad text. Vägledningen rekommenderar en genereringsbudget på 32 768 token för de flesta frågor och 38 912 för ovanligt komplexa problem; detta är rekommendationer, inte ett separat fastställt hårt utdatatak. Högre presence penalty kan minska upprepning men kan blanda språk eller försämra kvaliteten. Behåll bara slutsvar i samtalshistoriken. Ange uttryckligen vilket svarsschema som krävs och kontrollera matematiska resultat, faktabaserade slutsatser och genererade kodändringar mot det angivna underlaget innan du använder dem.

Praktisk uppgift

### Praktisk uppgift

Tekniskt exempel på engelska

```
Edit a multilingual service message

Translate into German for an office administrator: “The Atlas Link update is available, but installing it will restart the device. Save your work before starting.” Keep Atlas Link unchanged, preserve the restart warning and use a polite, concise tone. Return only the translated notice without adding a duration or maintenance window.
```

#### Förväntat resultat

```
A concise German notice retaining the product name, restart warning and save-work instruction.
```

#### Kontrollera resultatet

```
Check that the translation keeps the restart as a consequence of installation and does not add an unprovided downtime estimate.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-30b-a3b-fp8`

[`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/sv/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=chat)

Alibaba /`qwen/qwen3-30b-a3b-fp8`

### Start

Qwen3-30B-A3B-FP8 är Qwens FP8-kvantiserade mixture-of-experts-textmodell med valbara lägen för tänkande och direkta svar. Använd den för matematiskt resonemang, programmering, flerspråkigt skrivande och verktygsstödda arbetsflöden och bevara den exakta FP8-utgåvan och dess kontextkonfiguration.

Godkända indata

Text

Resultat

Text

### Tillgängligt i Ailoot · indata & metoder

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

Indatatyper

`text`

Utdatatyper

`text`

Utdataformat

json eller SSE

| Fält | Typ | Krav | Värden & gränser | Standard |
| --- | --- | --- | --- | --- |
| Fält`model` | Typ`string` | KravObligatoriskt | Värden & gränser qwen/qwen3-30b-a3b-fp8 | Standard— |
| Fält`messages` | Typ`message[]` | KravObligatoriskt | Värden & gränser Minsta antal objekt: 1 | Standard— |
| Fält`messages[].role` | Typ`string` | KravObligatoriskt | Värden & gränser Exempel: system, user, assistant, tool, function Villkor: Dessa roller representeras uttryckligen av källkodens kompatibilitetstyper; den exakta rolluppsättningen är fortfarande modellspecifik. Beror på modellen | Standard— |
| Fält`messages[].content` | Typ`string\|content_part[]\|null` | KravValfritt | Värden & gränser | Standard— |
| Fält`messages[].tool_calls` | Typ`tool_call[]` | KravValfritt | Värden & gränser | Standard— |
| Fält`messages[].tool_call_id` | Typ`string` | KravValfritt | Värden & gränser Gäller när: role=tool; använd det faktiska returnerade ID:t | Standard— |
| Fält`messages[].name` | Typ`string` | KravValfritt | Värden & gränser | Standard— |
| Fält`messages[].reasoning_content` | Typ`string` | KravValfritt | Värden & gränser Gäller när: Skicka tillbaka det faktiska returnerade resonemanget när modellen använder det | Standard— |
| Fält`messages[].reasoning_details` | Typ`object\|array` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`max_tokens` | Typ`integer` | KravValfritt | Värden & gränser Minimum: 1 Beror på modellen | Standard— |
| Fält`max_completion_tokens` | Typ`integer` | KravValfritt | Värden & gränser Minimum: 1 Beror på modellen | Standard— |
| Fält`stream` | Typ`boolean` | KravValfritt | Värden & gränser | Standardfalse |
| Fält`stream_options.include_usage` | Typ`boolean` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`temperature` | Typ`number` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`top_p` | Typ`number` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`stop` | Typ`string\|string[]` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`tools` | Typ`function_tool[]` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`tools[].type` | Typ`string` | KravValfritt | Värden & gränser function Beror på modellen | Standard— |
| Fält`tools[].function.name` | Typ`string` | KravObligatoriskt | Värden & gränser Gäller när: verktyg av typen funktion har tillhandahållits | Standard— |
| Fält`tools[].function.description` | Typ`string` | KravValfritt | Värden & gränser | Standard— |
| Fält`tools[].function.parameters` | Typ`JSON_schema` | KravValfritt | Värden & gränser | Standard— |
| Fält`tool_choice` | Typ`string\|object` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`parallel_tool_calls` | Typ`boolean` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`response_format` | Typ`object` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`reasoning_effort` | Typ`string` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`reasoning` | Typ`object` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`service_tier` | Typ`string` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`instructions` | Typ`string` | KravValfritt | Värden & gränser Kompatibilitetsfält | Standard— |
| Fält`functions` | Typ`function[]` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`function_call` | Typ`string\|object` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`prompt_cache_options` | Typ`object` | KravValfritt | Värden & gränser Beror på modellen | Standard— |
| Fält`modalities` | Typ`string[]` | KravValfritt | Värden & gränser text | Standard— |
| Fält`provider` | Typ`object` | KravValfritt | Värden & gränser Villkor: provider.options avvisas på denna Ultra-textrutt | Standard— |
| Fält`cache_control.ttl` | Typ`string` | KravValfritt | Värden & gränser Villkor: 1h avvisas på de faktiska platserna för promptcache | Standard— |

Kombinationer av indatamaterial

**Text** · UTF8-text

`messages[].content`

Metodparametrar och livscykel

| Parameter | Avtal |
| --- | --- |
| Parameter`content_type` | Avtalapplication/json |
| Parameter`required` | Avtalmodel, messages |
| Parameter`material_types` | Avtaltext |
| Parameter`messages` | Avtalmeddelandearray med strukturen role/content |
| Parameter`file_material` | Avtaldet faktiska UTF-8-dokumentet infogat som bokstavlig text; inget fil-ID härleds |
| Parameter`optional_controls` | Avtalstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parameter`control_scope` | Avtalmodellspecifikt; användarens funktionsverktyg skiljer sig från värdbaserade verktyg |
| Parameter`output_modalities` | Avtaltext |
| Parameter`hosted_operations` | Avtalfalse |
| Parameter`multimodal_input_binding` | Avtalnull |

Livscykel: `synchronous_or_streamed`

Skicka det exakta modell-ID:t tillsammans med messages.

Kontextlängden är inte en utdatagräns.

En textfil kan tillhandahålla bokstavlig text; bild-/ljud-/filobjektsindata kräver exakt bindning.

### Priser

Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.

Snabbt läge

Ej angivet När snabbt läge är valt

Flex-läge

Ej angivet När läget flex är valt

Högsta resonemangsnivå

Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)

#### Ailoot-priser

#### Priser efter konfiguration

| Konfiguration | Prislista | Avgift |
| --- | --- | --- |
| KonfigurationGrundpriser för token | PrislistaGrundpris | Avgift Indata · Indatatoken **$0.0002** / 1K token Utdata · Utdatatoken **$0.001** / 1K token Indata · Cacheläsning **$0** / 1K token Indata · Skrivning till cache **$0** / 1K token Indata · Skrivning till cache, 1 tim **—** / 1K token |

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. [Så fungerar reservation och slutreglering →](https://ailoot.ai/docs/sv/billing/reserve/)

### Exempelbegäranden

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython-strömning

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen/qwen3-30b-a3b-fp8", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='qwen/qwen3-30b-a3b-fp8',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='qwen/qwen3-30b-a3b-fp8',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")
```

### Ta emot och spara resultat

#### Ailoot Ultra · OpenAI Chat

json eller SSE

##### Behåll alla färdiga resultat

Behåll varje fullständigt returnerat svar, fil och innehållsdel.

Behåll varje svarsalternativ och dess innehåll/verktygsanrop/resonemang. Sätt i SSE samman deltauppdateringar efter svarsalternativets/verktygets index och behåll den slutliga avslutsorsaken och användningsuppgifterna.

##### Om det ursprungliga svaret behöver kontrolleras

Behåll begärans/svarets ID:n och huvuden. Ingen generell URL för hämtning av textjobb tillhandahålls.

Svarsfält

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

Fel och nästa steg

| Svar | Villkor | Nästa steg |
| --- | --- | --- |
| Svar400 · `invalid_request_error` | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |

### Alias

#### Modellalias

**Ailoot Ultra** [`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/sv/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=chat)

#### Alias för metodsökvägar

Använd metodsökvägarna som visas ovan.

#### Relaterade anropar-ID:n

[`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/sv/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-30b-a3b-fp8`

[`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/sv/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=messages)

Alibaba /`qwen/qwen3-30b-a3b-fp8`

### Start

Qwen3-30B-A3B-FP8 är Qwens FP8-kvantiserade mixture-of-experts-textmodell med valbara lägen för tänkande och direkta svar. Använd den för matematiskt resonemang, programmering, flerspråkigt skrivande och verktygsstödda arbetsflöden och bevara den exakta FP8-utgåvan och dess kontextkonfiguration.

Godkända indata

Text

Resultat

json · sse

### Tillgängligt i Ailoot · indata & metoder

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

Indatatyper

`text`

Utdatatyper

`json`, `sse`

Utdataformat

JSON eller SSE

| Fält | Typ | Krav | Värden & gränser | Standard |
| --- | --- | --- | --- | --- |
| Fält`model` | Typ`string` | KravObligatoriskt | Värden & gränser qwen/qwen3-30b-a3b-fp8 | Standard— |
| Fält`messages` | Typ`message[]` | KravObligatoriskt | Värden & gränser | Standard— |
| Fält`messages[].role` | Typ`string` | KravObligatoriskt | Värden & gränser user, assistant | Standard— |
| Fält`messages[].content` | Typ`string` | KravObligatoriskt | Värden & gränser | Standard— |
| Fält`max_tokens` | Typ`integer` | KravObligatoriskt | Värden & gränser | Standard— |
| Fält`stream` | Typ`boolean` | KravValfritt | Värden & gränser | Standardfalse |

Kombinationer av indatamaterial

**Text** · UTF-8-text

`sträng i messages[].content`

Metodparametrar och livscykel

| Parameter | Avtal |
| --- | --- |
| Parameter`content_type` | Avtalapplication/json |
| Parameter`required` | Avtalmodel, messages, max\_tokens |
| Parameter`optional_controls` | Avtalstream |
| Parameter`material_types` | Avtaltext |
| Parameter`text_file_material` | AvtalLäs det faktiska UTF-8-dokumentet och placera texten i det angivna input-fältet eller i strängen för meddelandets innehåll. |

Livscykel: `synchronous_or_streamed`

### Priser

Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.

Snabbt läge

Ej angivet När snabbt läge är valt

Flex-läge

Ej angivet När läget flex är valt

Högsta resonemangsnivå

Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)

#### Ailoot-priser

#### Priser efter konfiguration

| Konfiguration | Prislista | Avgift |
| --- | --- | --- |
| KonfigurationGrundpriser för token | PrislistaGrundpris | Avgift Indata · Indatatoken **$0.0002** / 1K token Utdata · Utdatatoken **$0.001** / 1K token Indata · Cacheläsning **$0** / 1K token Indata · Skrivning till cache **$0** / 1K token Indata · Skrivning till cache, 1 tim **—** / 1K token |

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. [Så fungerar reservation och slutreglering →](https://ailoot.ai/docs/sv/billing/reserve/)

### Exempelbegäranden

#### Ailoot Ultra · Anthropic Messages

Komplett minimal JSON-kroppcurl · använd ditt UTF-8-dokumentPython · spara hela resultatet

```json
{
  "model": "qwen/qwen3-30b-a3b-fp8",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3-30b-a3b-fp8', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3-30b-a3b-fp8', '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))
```

### Ta emot och spara resultat

#### Ailoot Ultra · Anthropic Messages

JSON eller SSE

##### Behåll alla färdiga resultat

Behåll varje fullständigt returnerat svar, fil och innehållsdel.

Behåll alla innehållsblock, resonemangssignaturer och faktiska ID:n för verktygsanvändning. Sätt samman alla SSE-deltauppdateringar för blocken; ett första textblock är inte hela utdata.

##### Om det ursprungliga svaret behöver kontrolleras

Behåll begärans/svarets ID:n och huvuden. Ingen generell URL för hämtning av textjobb tillhandahålls.

Svarsfält

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

Fel och nästa steg

| Svar | Villkor | Nästa steg |
| --- | --- | --- |
| Svar400 · `invalid_request_error` | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |

### Alias

#### Modellalias

**Ailoot Ultra** [`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/sv/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=messages)

#### Alias för metodsökvägar

Använd metodsökvägarna som visas ovan.

#### Relaterade anropar-ID:n

[`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/sv/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=messages)

FAQ · qwen/qwen3-30b-a3b-fp8

Vilka indata och resultat finns?

`POST /v1/chat/completions` · `qwen/qwen3-30b-a3b-fp8`: `text` → `text` `POST /v1/messages` · `qwen/qwen3-30b-a3b-fp8`: `text` → `json`, `sse`

Vilka fält använder begäran?

`POST /v1/chat/completions` · `qwen/qwen3-30b-a3b-fp8`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3-30b-a3b-fp8`: `model`, `messages`, `max_tokens`, `stream`

Vilka gränser gäller?

`POST /v1/chat/completions` · `qwen/qwen3-30b-a3b-fp8`: `messages.min_items`: `1`

Anslut Ailoot till Claude Code, OpenCode, Hermes eller din app.

## Företaget och dess projektportfölj

Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.

## Köp token med rabatt.

Prenumerationsrabatt för återkommande arbete. Kampanjkoder ger upp till 50% vid tokenköp.

Prenumeration

Välj en rabatterad plan för återkommande anrop.

Kampanjkod upp till 50%

Ange koden vid köpet. Priset räknas om enligt kampanjen.

Kostnader i historiken

Modell, token och belopp sparas för varje anrop.

[Välj prenumeration](https://ailoot.ai/docs/sv/billing/subscriptions/) · [Se modellpriser](https://ailoot.ai/models/sv/)

## Anslut API till produkten som du säljer.

SaaS, appar och botar enligt Ailoots officiella villkor och licensavtal. Begär återförsäljarlicens för vidareförsäljning.

Kommersiell applikation

Bygg text-, bild-, video- och ljudgenerering i tjänstens betalda funktioner.

Återförsäljarlicens

Skicka projektbeskrivning och åtkomstupplägg. Begär skriftliga villkor för användning och vidareförsäljning.

Dokument på webbplatsen

Officiella villkor, licensavtal och databehandlingspolicy finns tillgängliga före anslutning.

[Begär återförsäljarlicens](mailto:support@ailoot.ai) · [Officiella villkor och licensavtal](https://ailoot.ai/legal/offer?lang=sv)

## Ailoot · Företaget och dess projektportfölj





Ailoot bygger på etablerad driftserfarenhet, en stor kundbas, stabil service och löpande KPI-kontroll.





Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.





Ailoot använder denna driftserfarenhet för API-åtkomst till AI-funktioner i kundernas produkter, agenter, applikationer och automatiseringar.
