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

# Meta: Muse Spark 1.2 Contributor

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

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

Muse Spark 1.2 Contributor is een afzonderlijk benoemde redeneereditie van Meta voor prototype- en experimentele agentworkflows. Meta documenteert een context van 1.048.576 tokens en multimodale invoer met tekstuitvoer; de editie behoudt haar eigen identiteit en redeneerniveaus zonder max van 1.3 Standard.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `meta/muse-spark-1.2-contributor`](https://ailoot.ai/models/nl-be/meta-muse-spark-1-2-contributor/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `meta/muse-spark-1.2-contributor`](https://ailoot.ai/models/nl-be/meta-muse-spark-1-2-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.2 Contributor is de experimentele en prototypingeditie van Meta’s Muse Spark 1.2-redeneerfamilie. Houd de Contributor-identifier gescheiden van Standard 1.2 en latere 1.3-edities. De familiedocumentatie van de maker beschrijft agentwerk, softwareassistenten, multimodale redenering, toolgebruik en gestructureerde tekstresultaten; ze legt geen afzonderlijke prestatiegarantie voor Contributor vast op basis van Standard-demonstraties.

Gedocumenteerde invoer en context

De maker vermeldt tekst, afbeeldingen, video, audio en PDF’s als invoermodaliteiten van versie 1.2 en tekst als uitvoer, met een context van 1.048.576 tokens. Die tabel definieert het gedocumenteerde modelbereik van de producent. Het resultaat kan een geschreven uitleg, gestructureerde bevindingen of voorgestelde code zijn; een interface renderen, een opname maken of een andere externe actie uitvoeren vereist een toepassingscomponent.

Kies voor een prototype één afgebakende taak en lever het materiaal aan dat nodig is om het resultaat te inspecteren. Een schermafbeelding kan een vereiste voor een bepaalde interactie vergezellen. Een PDF kan de te vergelijken of te extraheren uitspraken leveren. Een video kan de te beschrijven zichtbare volgorde tonen, terwijl een audiovisuele vraag moet aangeven welk gesproken of zichtbaar detail ertoe doet. Label elke bron en vraag om het bewijsmateriaal dat het antwoord ondersteunt.

De 1.2-release beschrijft sterke punten van de familie bij het omzetten van visueel materiaal in code en het redeneren over grafieken of scènes. Gebruik die als taakgebieden en niet als een bewering dat deze Contributor-editie elke Standard-demo reproduceert. Een praktisch verzoek kan vragen om de lay-outelementen die in een schermafbeelding zichtbaar zijn, een voorgestelde implementatie en de resterende vragen over gedrag dat de afbeelding niet toont.

Redenering en resultaatvoorbereiding

De Muse Spark-redeneerhandleiding biedt de niveaus minimal, low, medium, high en xhigh voor deze editie. max is specifiek voor Standard 1.3 en redenering uitschakelen met none wordt niet ondersteund. Zonder expliciete instelling gebruikt het model nog altijd een door het model bepaald redeneerniveau. Een kleine extractie en een visueel of programmeerprobleem met meerdere stappen kunnen daarom verschillende niveaus gebruiken en toch dezelfde 1.2 Contributor-identiteit behouden.

Het uitvoerbudget omvat interne redenering en zichtbare tekst samen. Ruwe redenering is privé, dus vraag om de uitleg of het eindartefact dat de gebruiker nodig heeft in plaats van het onderliggende traject te verwachten. Bepaal de antwoordlengte en velden van de taak op basis van wat daarna zal worden geïnspecteerd.

Vraag voor een documentvergelijking om de bronuitspraak, de pagina, de voorwaarde die ze vastlegt en eventuele tegenstrijdigheden. Specificeer voor een codeprototype de toegestane invoer, het verwachte resultaat en de te behouden interface. Vraag het voorgestelde fragment afzonderlijk van de aannames en voorbeeldinvoer. Die vereisten definiëren een beoordeelbaar resultaat in plaats van een open experiment zonder voltooiingscriterium.

Experimenten met tools

Door ontwikkelaars gedefinieerd toolgebruik volgt een lus tussen model en toepassing. De toepassing beschrijft functies, het model kiest een bewerking en bereidt argumenten voor, en de toepassing voert ze uit en geeft het resultaat terug. Een opzoekactie kan referentie-informatie leveren; een uitvoeringstool kan tonen wat er gebeurde toen voorgestelde code werd uitgevoerd. Houd de oorspronkelijke bewerking en het teruggegeven resultaat aan elkaar gekoppeld voordat het volgende antwoord wordt gevraagd.

De aankondiging van de 1.2-familie legt de nadruk op het gebruik van tools om visuele invoer en gegenereerde artefacten nauwkeuriger te inspecteren. Dat betekent dat de omgeving de inspectie- of renderbewerking aanbiedt. Een tekstvoorstel alleen is geen gerenderde pagina of uitgevoerde interactie. Definieer wat de tools teruggeven, zodat het model feedback met de werkelijke vereiste kan verbinden.

Gestructureerde uitvoer kan de bevindingen van het experiment in een aangeleverd schema organiseren. Definieer veldnamen, vereiste types en de verwerking van ontbrekende waarden en behoud bronidentifiers bij geëxtraheerde informatie. Een syntactisch geldige registratie en een correcte interpretatie zijn verschillende eigenschappen; houd het oorspronkelijke materiaal beschikbaar om die laatste te inspecteren.

Editie- en continuïteitsbeperkingen

De gewone chatworkflow van de maker geeft geen privéredeneercontext terug die externe aanroepers opnieuw kunnen afspelen. Bewaar zichtbare geschiedenis, bronfeiten en toolresultaten bij het voortzetten van een experiment en gebruik alleen de continuïteitsmechanismen die voor de gekoppelde interface zijn gedocumenteerd. Logwaarschijnlijkheden worden niet ondersteund voor Muse Spark en mogen daarom niet worden behandeld als een ingebouwde betrouwbaarheidsscore voor een geëxtraheerd veld.

De gepubliceerde context- en modaliteitstabel hoort bij deze benoemde 1.2-editie; die mag niet de max-instelling of audiobeperking van 1.3 overnemen. De geraadpleegde bronnen vermelden geen afzonderlijke maximale invoer- of uitvoertokencapaciteit buiten de context. Houd het doel, materiaal en inspecteerbare tekstresultaat van het prototype expliciet en behoud de Contributor-identiteit en de werkelijke resultaten van de tools.

Praktische taak

### Praktische taak

Technisch voorbeeld in het Engels

```
Prototype a bounded state reducer

Propose a JavaScript reducer for an upload widget with states idle, uploading, success and error. Events start, finish and fail are supplied as plain strings. Only uploading may transition to success or error; start resets any state to uploading. Include a transition table and tests for an invalid finish from idle.
```

#### Verwacht resultaat

```
Reducer code, a transition table and tests covering valid and ignored transitions.
```

#### Resultaat controleren

```
Check that finish from idle is ignored and that the proposal does not claim a rendered or executed widget.
```

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

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

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

### Aan de slag

Muse Spark 1.2 Contributor is een afzonderlijk benoemde redeneereditie van Meta voor prototype- en experimentele agentworkflows. Meta documenteert een context van 1.048.576 tokens en multimodale invoer met tekstuitvoer; de editie behoudt haar eigen identiteit en redeneerniveaus zonder max van 1.3 Standard.

Toegestane invoer

Tekst

Resultaten

Tekst

### Beschikbaar in Ailoot · invoer en methoden

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

Invoer

`text`

Uitvoer

`text`

Uitvoerformaat

json of SSE

| Veld | Type | Vereiste | Waarden en limieten | Standaard |
| --- | --- | --- | --- | --- |
| Veld`model` | Type`string` | VereisteVereist | Waarden en limieten meta/muse-spark-1.2-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 geselecteerd is

Flex-modus

Standaardtarief Wanneer de flex-modus geselecteerd is

Maximale redeneerinspanning

Standaardtarief Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt

Redeneerinspanning · hoog

Standaardtarief Wanneer de redeneerinspanning hoog is

Redeneerinspanning · laag

Standaardtarief Wanneer de redeneerinspanning laag is

Redeneerinspanning · gemiddeld

Standaardtarief Wanneer de redeneerinspanning gemiddeld is

Redeneerinspanning · minimaal

Standaardtarief Wanneer de redeneerinspanning minimaal is

Redeneerinspanning · xhigh

Standaardtarief Wanneer de redeneerinspanning xhigh is

#### 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 |
| ConfiguratieAanvraaglengte · niveau 1 | 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-be/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.2-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.2-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.2-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.2-contributor`](https://ailoot.ai/models/nl-be/#m=meta%2Fmuse-spark-1.2-contributor&route=Ultra&caller=meta%2Fmuse-spark-1.2-contributor&fmt=chat)

#### Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

#### Gerelateerde aanroeper-ID’s

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

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

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

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

### Aan de slag

Muse Spark 1.2 Contributor is een afzonderlijk benoemde redeneereditie van Meta voor prototype- en experimentele agentworkflows. Meta documenteert een context van 1.048.576 tokens en multimodale invoer met tekstuitvoer; de editie behoudt haar eigen identiteit en redeneerniveaus zonder max van 1.3 Standard.

Toegestane invoer

Tekst

Resultaten

json · sse

### Beschikbaar in Ailoot · invoer en methoden

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

Invoer

`text`

Uitvoer

`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.2-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 geselecteerd is

Flex-modus

Standaardtarief Wanneer de flex-modus geselecteerd is

Maximale redeneerinspanning

Standaardtarief Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt

Redeneerinspanning · hoog

Standaardtarief Wanneer de redeneerinspanning hoog is

Redeneerinspanning · laag

Standaardtarief Wanneer de redeneerinspanning laag is

Redeneerinspanning · gemiddeld

Standaardtarief Wanneer de redeneerinspanning gemiddeld is

Redeneerinspanning · minimaal

Standaardtarief Wanneer de redeneerinspanning minimaal is

Redeneerinspanning · xhigh

Standaardtarief Wanneer de redeneerinspanning xhigh is

#### 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 |
| ConfiguratieAanvraaglengte · niveau 1 | 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-be/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.2-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.2-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.2-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.2-contributor`](https://ailoot.ai/models/nl-be/#m=meta%2Fmuse-spark-1.2-contributor&route=Ultra&caller=meta%2Fmuse-spark-1.2-contributor&fmt=messages)

#### Aliasnamen voor methodepaden

Gebruik de hierboven getoonde methodepaden.

#### Gerelateerde aanroeper-ID’s

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

FAQ · Meta: Muse Spark 1.2 Contributor

Welke invoer en resultaten zijn beschikbaar?

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

Welke velden gebruikt het verzoek?

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

Welke limieten gelden?

`POST /v1/chat/completions` · `meta/muse-spark-1.2-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-be/billing/subscriptions/) · [Bekijk modelprijzen](https://ailoot.ai/models/nl-be/)

## 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-be)

## 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.
