Source: https://ailoot.ai/models/nl/meta-muse-spark-1-3-contributor/
Canonical: https://ailoot.ai/models/nl/meta-muse-spark-1-3-contributor/
Language: nl

# Meta: Muse Spark 1.3 Contributor

[Markdown](https://ailoot.ai/models/nl/meta-muse-spark-1-3-contributor/index.md) · [JSON](https://ailoot.ai/models/nl/meta-muse-spark-1-3-contributor/facts.json)

## [Meta: Muse Spark 1.3 Contributor](https://ailoot.ai/models/nl/meta-muse-spark-1-3-contributor/)

Muse Spark 1.3 Contributor is een redeneereditie in de agent- en programmeerfamilie van Meta voor prototypeworkflows. De maker vermeldt tekst-, afbeeldings-, video- en PDF-invoer, tekstuitvoer en een context van 1.048.576 tokens, met redeneerniveaus tot en met xhigh, in plaats van de max-instelling van Standard 1.3.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `meta/muse-spark-1.3-contributor`](https://ailoot.ai/models/nl/meta-muse-spark-1-3-contributor/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `meta/muse-spark-1.3-contributor`](https://ailoot.ai/models/nl/meta-muse-spark-1-3-contributor/#method-1)

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.

Muse Spark 1.3 Contributor is een afzonderlijk benoemde editie in de Muse Spark-familie van Meta voor prototypes en experimenten. De familie is ontworpen voor agentwerk en programmeren: toollussen met meerdere stappen, softwareassistenten en redeneren over omvangrijk bronmateriaal. Behoud de naam Contributor bij het selecteren van de editie, in plaats van deze als de Standard 1.3-vermelding te behandelen en alle instellingen ongewijzigd over te nemen.

Invoer en context

De officiële modeltabel noemt tekst, afbeeldingen, video en PDF’s als invoer en tekst als uitvoer, met een contextvenster van 1.048.576 tokens. Een taak kan een schriftelijke eis, een screenshot, een relevante clip of documentpagina’s combineren en om een schriftelijke uitleg, gestructureerde bevindingen of voorgestelde code vragen. Het tekstresultaat van het model kan een artefact in de omringende applicatie worden; een pagina renderen of code uitvoeren vereist die applicatieomgeving.

Benoem elke bron en haar rol voordat je om een resultaat vraagt. Een prototype-interfacetaak kan een screenshot koppelen aan het gewenste gedrag en het bestaande codefragment. Vraag om de zichtbare verschillen, de voorgestelde implementatiewijziging en de aannamen die nog verduidelijking vereisen. Een documenttaak kan de te extraheren velden definiëren en om de ondersteunende pagina of passage bij elke bevinding vragen.

De maker merkt op dat audiobegrip in versie 1.3 niet volledig wordt ondersteund en minder goede antwoorden kan opleveren. Behandel dit als een versiespecifieke beperking, in plaats van de audiomogelijkheden van Muse Spark 1.2 of een afzonderlijk benoemd transcriptiemodel in deze beschrijving over te nemen.

Redeneerniveaus en antwoordbudget

Muse Spark genereert interne redeneringen vóór het zichtbare antwoord. De gedocumenteerde inspanningsniveaus die hier gelden zijn minimal, low, medium, high en xhigh. Het niveau max hoort specifiek bij Standard Muse Spark 1.3 en is niet beschikbaar voor Contributor-modellen. Redeneren uitschakelen met none wordt niet ondersteund; zonder die instelling blijft het model redeneren op een zelf bepaald niveau.

Het uitvoertokenbudget omvat zowel interne redenering als zichtbare tekst. Een verzoek om een lang schriftelijk resultaat heeft daarom ruimte voor beide nodig, vooral bij een hogere redeneerinspanning. De ruwe interne redenering blijft privé en logwaarschijnlijkheden worden niet als betrouwbaarheidsmaat ondersteund. Vraag om de uitleg, velden of definitieve code die voor de taak nodig zijn, in plaats van aan te nemen dat het onderliggende redeneerspoor als leesbare tekst wordt teruggegeven.

Definieer voor een gericht extractie- of opmaakexperiment de exacte registratie en het bronmateriaal. Definieer voor een programmeer- of visueel probleem met meerdere stappen de tussenbeslissingen en het eindresultaat. Hogere redeneerinspanning verandert de toewijzing van redeneerwerk; ze bepaalt op zichzelf niet wat een voltooid, bruikbaar resultaat is.

Tools en gestructureerde bevindingen

De Muse Spark-documentatie van de maker beschrijft door ontwikkelaars gedefinieerde toolaanroepen en gestructureerde uitvoer. De applicatie levert de tooldefinities, het model bepaalt welke bewerking nodig is en bereidt de argumenten voor, en de applicatie voert elke aanroep uit en geeft het bijbehorende resultaat terug. Het volgende antwoord kan die resultaten gebruiken om de volgende stap te bepalen. Een voorgestelde aanroep staat los van een voltooide bewerking.

Dezelfde documentatie maakt onderscheid tussen gekoppelde ingebouwde zoektools en door ontwikkelaars gedefinieerde functies. Zoeken of code uitvoeren hoort bij de toolomgeving en is geen extra inhoudsmodaliteit van het tekstantwoord. Lever in een prototype alleen de bewerkingen aan die relevant zijn voor de vraag en beschrijf wat elke bewerking teruggeeft, zodat het volgende antwoord verbonden blijft met daadwerkelijk opgehaalde of berekende informatie.

Specificeer voor gestructureerde extractie de veldnamen, vereiste informatie en weergave van ontbrekende waarden. Een praktische registratie kan de bronidentifier, het waargenomen feit, de interpretatie en een nog te verduidelijken vraag bevatten. Houd de registratie gescheiden van optionele lopende tekst wanneer een applicatie de velden betrouwbaar moet verwerken. De schemainterface van de maker weigert recursieve schema’s en beperkt nesting tot tien niveaus. De strikte modus vereist een gewoon object als hoofdelement, alle vermelde eigenschappen als verplicht en geen extra eigenschappen. Een passende structuur bewijst niet dat de feiten kloppen.

Een bruikbare prototypetaak

Kies één workflow die een inspecteerbaar resultaat kan opleveren. Lever de eis, een visueel voorbeeld en de code aan die het huidige gedrag bepaalt. Vraag om een korte vergelijking, een voorgesteld herzien fragment en voorbeelden die het verwachte gedrag onderscheiden van het huidige gedrag. Voeg eventuele opzoek- of uitvoeringsresultaten van de applicatie toe voordat je om de uiteindelijke uitleg vraagt.

Geef voor een documentgericht prototype de PDF en de te beantwoorden vraag en vraag vervolgens om een samenvatting met bronverwijzingen of een vergelijkingstabel. Benoem voor video de te inspecteren gebeurtenis of visuele relatie en vraag om een geordende beschrijving met ondersteunende waarnemingen. Definieer de lengte en secties van het eindantwoord, zodat de grote context van het model de werkelijke vraag dient.

Editie en grenzen van continuïteit

Contributor blijft een eigen benoemde 1.3-editie, met de gedocumenteerde context en invoertypen. De redeneerhandleiding van Meta onderscheidt gewone gespreksgeschiedenis van het behoud van privéredeneringen over gespreksbeurten heen: de chatinterface van de maker geeft dat privéspoor niet terug aan externe aanroepers. Bewaar de zichtbare berichten, bronnen en tooluitkomsten die voor een vervolgstap nodig zijn, in plaats van aan te nemen dat elke interface interne redeneringen meeneemt.

De geraadpleegde bronnen specificeren geen afzonderlijke harde maximale capaciteit voor invoer- of uitvoertokens buiten het contextvenster. Behoud de editie, invoervoorbereiding en het gevraagde resultaat en houd tooluitvoering en de uiteindelijke tekstlevering verbonden met de daadwerkelijk verkregen resultaten in de prototypeworkflow.

Praktische taak

### Praktische taak

Technisch voorbeeld in het Engels

```
Prototype and test a text-only helper

Design a small Python prototype for an appointment reminder. Input records contain id and minutes_until_start. Return IDs where 0 <= minutes_until_start <= 30, preserving input order. Supply the function and cases at -1, 0, 30 and 31 minutes. Include a short note on assumptions; no calendar connection or reminder sending is available.
```

#### Verwacht resultaat

```
A self-contained function, boundary-case assertions and explicit assumptions about input fields.
```

#### Resultaat controleren

```
Exactly the 0- and 30-minute records qualify, and the function does not send messages or assume calendar access.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `meta/muse-spark-1.3-contributor`

[`meta/muse-spark-1.3-contributor`](https://ailoot.ai/models/nl/#m=meta%2Fmuse-spark-1.3-contributor&route=Ultra&caller=meta%2Fmuse-spark-1.3-contributor&fmt=chat)

Meta /`meta/muse-spark-1.3-contributor`

### Aan de slag

Muse Spark 1.3 Contributor is een redeneereditie in de agent- en programmeerfamilie van Meta voor prototypeworkflows. De maker vermeldt tekst-, afbeeldings-, video- en PDF-invoer, tekstuitvoer en een context van 1.048.576 tokens, met redeneerniveaus tot en met xhigh, in plaats van de max-instelling van Standard 1.3.

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

| Veld | Type | Vereiste | Waarden en limieten | Standaard |
| --- | --- | --- | --- | --- |
| Veld`model` | Type`string` | VereisteVereist | Waarden en limieten meta/muse-spark-1.3-contributor | Standaard— |
| Veld`messages` | Type`message[]` | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
| Veld`messages[].role` | Type`string` | VereisteVereist | Waarden 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— |
| Veld`messages[].content` | Type`string\|content_part[]\|null` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`messages[].tool_calls` | Type`tool_call[]` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`messages[].tool_call_id` | Type`string` | VereisteOptioneel | Waarden en limieten Geldt wanneer: role=tool; gebruik het werkelijk teruggegeven ID | Standaard— |
| Veld`messages[].name` | Type`string` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`messages[].reasoning_content` | Type`string` | VereisteOptioneel | Waarden en limieten Geldt wanneer: Stuur de werkelijk teruggegeven redeneringen terug wanneer dit model ze gebruikt | Standaard— |
| Veld`messages[].reasoning_details` | Type`object\|array` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`max_tokens` | Type`integer` | VereisteOptioneel | Waarden en limieten Minimum: 1 Afhankelijk van het model | Standaard— |
| Veld`max_completion_tokens` | Type`integer` | VereisteOptioneel | Waarden en limieten Minimum: 1 Afhankelijk van het model | Standaard— |
| Veld`stream` | Type`boolean` | VereisteOptioneel | Waarden en limieten | Standaardfalse |
| Veld`stream_options.include_usage` | Type`boolean` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`temperature` | Type`number` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`top_p` | Type`number` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`stop` | Type`string\|string[]` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`tools` | Type`function_tool[]` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`tools[].type` | Type`string` | VereisteOptioneel | Waarden en limieten function Afhankelijk van het model | Standaard— |
| Veld`tools[].function.name` | Type`string` | VereisteVereist | Waarden en limieten Geldt wanneer: functietool opgegeven | Standaard— |
| Veld`tools[].function.description` | Type`string` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`tools[].function.parameters` | Type`JSON_schema` | VereisteOptioneel | Waarden en limieten | Standaard— |
| Veld`tool_choice` | Type`string\|object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`parallel_tool_calls` | Type`boolean` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`response_format` | Type`object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`reasoning_effort` | Type`string` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`reasoning` | Type`object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`service_tier` | Type`string` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`instructions` | Type`string` | VereisteOptioneel | Waarden en limieten Compatibiliteitsveld | Standaard— |
| Veld`functions` | Type`function[]` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`function_call` | Type`string\|object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`prompt_cache_options` | Type`object` | VereisteOptioneel | Waarden en limieten Afhankelijk van het model | Standaard— |
| Veld`modalities` | Type`string[]` | VereisteOptioneel | Waarden en limieten text | Standaard— |
| Veld`provider` | Type`object` | VereisteOptioneel | Waarden en limieten Voorwaarden: provider.options wordt op deze Ultra-tekstroute geweigerd | Standaard— |
| Veld`cache_control.ttl` | Type`string` | VereisteOptioneel | Waarden en limieten Voorwaarden: 1h wordt op de daadwerkelijke locaties voor promptcaching geweigerd | Standaard— |

Combinaties van invoermaterialen

**Tekst** · UTF8-tekst

`messages[].content`

Methodeparameters en levenscyclus

| Parameter | Contract |
| --- | --- |
| Parameter`content_type` | Contractapplication/json |
| Parameter`required` | Contractmodel, messages |
| Parameter`material_types` | Contracttext |
| Parameter`messages` | Contractberichtenarray met de structuur role/content |
| Parameter`file_material` | Contractwerkelijk UTF-8-document ingevoegd als letterlijke tekst; er wordt geen bestands-ID afgeleid |
| Parameter`optional_controls` | Contractstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parameter`control_scope` | Contractmodelspecifiek; functietools van de gebruiker verschillen van gehoste tools |
| Parameter`output_modalities` | Contracttext |
| Parameter`hosted_operations` | Contractfalse |
| Parameter`multimodal_input_binding` | Contractnull |

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

Redeneerinspanning · high

Standaardtarief Wanneer de redeneerinspanning op high staat

Redeneerinspanning · low

Standaardtarief Wanneer de redeneerinspanning op low staat

Redeneerinspanning · max

Standaardtarief Wanneer de redeneerinspanning op max staat

Redeneerinspanning · medium

Standaardtarief Wanneer de redeneerinspanning op medium staat

Redeneerinspanning · minimal

Standaardtarief Wanneer de redeneerinspanning op minimal staat

Redeneerinspanning · xhigh

Standaardtarief Wanneer de redeneerinspanning op xhigh staat

#### Ailoot-tarieven

#### Prijzen per configuratie

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

| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
| --- | --- | --- | --- | --- |
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.0004** / 1K tokens Invoer · Cache lezen **$0.000004** / 1K tokens Invoer · Cache schrijven **—** / 1K tokens Invoer · Cache schrijven, 1 uur **—** / 1K tokens |
| ConfiguratieNiveau 1 voor aanvraaglengte | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.0004** / 1K tokens Invoer · Cache lezen **$0.000004** / 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 →](https://ailoot.ai/docs/nl/billing/reserve/)

### Voorbeeldverzoeken

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython-stream

```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": "meta/muse-spark-1.3-contributor", "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='meta/muse-spark-1.3-contributor',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='meta/muse-spark-1.3-contributor',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

| Veld | Type |
| --- | --- |
| Veld`choices[].index` | Typeinteger |
| Veld`choices[].message.content` | Typestring\|null |
| Veld`choices[].message.tool_calls` | Typetool\_call\[\] |
| Veld`choices[].message.reasoning_content` | Typestring |
| Veld`choices[].message.reasoning_details` | Typeobject\|array |
| Veld`choices[].finish_reason` | Typestring\|null |
| Veld`usage` | Typeobject |

Fouten en vervolgstappen

| Antwoord | Voorwaarde | Volgende stap |
| --- | --- | --- |
| Antwoord400 · `invalid_request_error` | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |

### Aliasnamen

#### Modelaliasnamen

**Ailoot Ultra** [`meta/muse-spark-1.3-contributor`](https://ailoot.ai/models/nl/#m=meta%2Fmuse-spark-1.3-contributor&route=Ultra&caller=meta%2Fmuse-spark-1.3-contributor&fmt=chat)

#### Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

#### Gerelateerde aanroeper-ID’s

[`meta/muse-spark-1.3-contributor`](https://ailoot.ai/models/nl/#m=meta%2Fmuse-spark-1.3-contributor&route=Ultra&caller=meta%2Fmuse-spark-1.3-contributor&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `meta/muse-spark-1.3-contributor`

[`meta/muse-spark-1.3-contributor`](https://ailoot.ai/models/nl/#m=meta%2Fmuse-spark-1.3-contributor&route=Ultra&caller=meta%2Fmuse-spark-1.3-contributor&fmt=messages)

Meta /`meta/muse-spark-1.3-contributor`

### Aan de slag

Muse Spark 1.3 Contributor is een redeneereditie in de agent- en programmeerfamilie van Meta voor prototypeworkflows. De maker vermeldt tekst-, afbeeldings-, video- en PDF-invoer, tekstuitvoer en een context van 1.048.576 tokens, met redeneerniveaus tot en met xhigh, in plaats van de max-instelling van Standard 1.3.

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

| Veld | Type | Vereiste | Waarden en limieten | Standaard |
| --- | --- | --- | --- | --- |
| Veld`model` | Type`string` | VereisteVereist | Waarden en limieten meta/muse-spark-1.3-contributor | Standaard— |
| Veld`messages` | Type`message[]` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`messages[].role` | Type`string` | VereisteVereist | Waarden en limieten user, assistant | Standaard— |
| Veld`messages[].content` | Type`string` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`max_tokens` | Type`integer` | VereisteVereist | Waarden en limieten | Standaard— |
| Veld`stream` | Type`boolean` | VereisteOptioneel | Waarden en limieten | Standaardfalse |

Combinaties van invoermaterialen

**Tekst** · UTF-8-tekst

`messages[].content als tekenreeks`

Methodeparameters en levenscyclus

| Parameter | Contract |
| --- | --- |
| Parameter`content_type` | Contractapplication/json |
| Parameter`required` | Contractmodel, messages, max\_tokens |
| Parameter`optional_controls` | Contractstream |
| Parameter`material_types` | Contracttext |
| Parameter`text_file_material` | ContractLees 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

Redeneerinspanning · high

Standaardtarief Wanneer de redeneerinspanning op high staat

Redeneerinspanning · low

Standaardtarief Wanneer de redeneerinspanning op low staat

Redeneerinspanning · max

Standaardtarief Wanneer de redeneerinspanning op max staat

Redeneerinspanning · medium

Standaardtarief Wanneer de redeneerinspanning op medium staat

Redeneerinspanning · minimal

Standaardtarief Wanneer de redeneerinspanning op minimal staat

Redeneerinspanning · xhigh

Standaardtarief Wanneer de redeneerinspanning op xhigh staat

#### Ailoot-tarieven

#### Prijzen per configuratie

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

| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
| --- | --- | --- | --- | --- |
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.0004** / 1K tokens Invoer · Cache lezen **$0.000004** / 1K tokens Invoer · Cache schrijven **—** / 1K tokens Invoer · Cache schrijven, 1 uur **—** / 1K tokens |
| ConfiguratieNiveau 1 voor aanvraaglengte | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens **$0.0002** / 1K tokens Uitvoer · Uitvoertokens **$0.0004** / 1K tokens Invoer · Cache lezen **$0.000004** / 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 →](https://ailoot.ai/docs/nl/billing/reserve/)

### Voorbeeldverzoeken

#### Ailoot Ultra · Anthropic Messages

Volledige minimale JSON-bodycurl · gebruik je UTF-8-documentPython · sla het volledige resultaat op

```json
{
  "model": "meta/muse-spark-1.3-contributor",
  "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': 'meta/muse-spark-1.3-contributor', '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': 'meta/muse-spark-1.3-contributor', '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

| Veld | Type |
| --- | --- |
| Veld`id` | Typestring |
| Veld`model` | Typestring |
| Veld`content[]` | Typetext\|thinking\|tool\_use\|other content block |
| Veld`stop_reason` | Typestring\|null |
| Veld`usage` | Typeobject |

Fouten en vervolgstappen

| Antwoord | Voorwaarde | Volgende stap |
| --- | --- | --- |
| Antwoord400 · `invalid_request_error` | VoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldig | Volgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag. |

### Aliasnamen

#### Modelaliasnamen

**Ailoot Ultra** [`meta/muse-spark-1.3-contributor`](https://ailoot.ai/models/nl/#m=meta%2Fmuse-spark-1.3-contributor&route=Ultra&caller=meta%2Fmuse-spark-1.3-contributor&fmt=messages)

#### Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

#### Gerelateerde aanroeper-ID’s

[`meta/muse-spark-1.3-contributor`](https://ailoot.ai/models/nl/#m=meta%2Fmuse-spark-1.3-contributor&route=Ultra&caller=meta%2Fmuse-spark-1.3-contributor&fmt=messages)

FAQ · Meta: Muse Spark 1.3 Contributor

Welke invoer en resultaten zijn beschikbaar?

`POST /v1/chat/completions` · `meta/muse-spark-1.3-contributor`: `text` → `text` `POST /v1/messages` · `meta/muse-spark-1.3-contributor`: `text` → `json`, `sse`

Welke velden gebruikt het verzoek?

`POST /v1/chat/completions` · `meta/muse-spark-1.3-contributor`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `meta/muse-spark-1.3-contributor`: `model`, `messages`, `max_tokens`, `stream`

Welke limieten gelden?

`POST /v1/chat/completions` · `meta/muse-spark-1.3-contributor`: `messages.min_items`: `1`

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](https://ailoot.ai/docs/nl/billing/subscriptions/) · [Bekijk modelprijzen](https://ailoot.ai/models/nl/)

## 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](mailto:support@ailoot.ai) · [Aanbodvoorwaarden en licentieovereenkomst](https://ailoot.ai/legal/offer?lang=nl)

## Ailoot · Het bedrijf en zijn projectenportefeuille





Ailoot bouwt op opgebouwde operationele ervaring, een groot klantenbestand, een stabiele dienst en doorlopende KPI-controle.





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





Ailoot gebruikt die operationele ervaring voor API-toegang tot AI-functies in klantproducten, agents, applicaties en automatiseringen.
