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

# Meta: Muse Spark 1.3

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

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

Muse Spark 1.3 on Metan multimodaalinen päättelymalli pitkäkestoisiin agentti- ja ohjelmointityönkulkuihin. Se seuraa lähteitä ja aiempia tuloksia, tukee valmistajan 1,048,576 tokenin kontekstia ja tässä Standard-versiossa max-tasolle ulottuvaa päättelyä sekä palauttaa tekstiä ja ehdotettuja työkalutoimintoja.

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

Tietoa mallista

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

Muse Spark 1.3 on Metan päättelymalli pitkäjänteiseen agentti- ja ohjelmointityöhön. Valmistaja korostaa kontekstin ja aiempien tulosten säilyttämistä pitkissä tehtävissä, ristiriitaisten lähteiden käsittelyä ja valmiin tuotoksen tuottamista. Tämä merkintä koskee Standard 1.3 -versiota, jonka dokumentoituihin päättelyasetuksiin kuuluu max; erikseen nimetyllä Contributor-versiolla on omat asetusrajansa.

Pitkäkestoinen agenttityö

Julkaisu kuvaa mallia, jota on koulutettu erilaisissa agenttiympäristöissä keräämään tietoa, tarkistamaan suunnitelmaa näytön muuttuessa ja säilyttämään yksityiskohtaiset vaatimukset monivaiheisessa tehtävässä. Se kuvaa myös useiden työnkulkujen parempaa käsittelyä samassa keskusteluketjussa siten, että saapuvat pyynnöt kohdistetaan oikeaan tehtävään. Hyödyllisen pyynnön tulee määritellä tavoite, lähteet, vaatimukset ja tuotos, joka tarkoittaa valmistumista.

Ammatillisessa asiakirjatehtävässä anna lähderaportit, määrittele säilytettävät faktat ja pyydä rakenteinen muistio lähdekohtineen. Jos lähteet ovat ristiriidassa, pyydä ristiriitaiset väitteet erikseen sekä tiedot, joita niiden ratkaisemiseen tarvitaan. Ohjelmointitehtävässä anna tarkoitettu toiminta, kyseiset moduulit ja olennainen koodi; pyydä ehdotettu toteutus ja näyttö, joka erottaisi tarkoitetun tuloksen.

Valmistajan mukaan 1.3 pyytää selvennystä monitulkintaiseen pyyntöön ja hakee käyttäjän apua jäädessään jumiin. Se kuvaa myös parempaa harkintaa vaikutuksiltaan merkittävissä toimissa. Nämä ovat mallin käyttäytymisen parannuksia eivätkä korvaa sovelluksen suorituksen ohjausmekanismeja. Anna agentille päätöksenteossa tarvittavat tiedot ja ilmaise vaadittu tulos selvästi.

Ohjelmointi ja multimodaalinen näyttö

Julkaisu keskittyy pidempiin ohjelmointitehtäviin, siistimpään tulosteeseen ja tarpeettomien vuorojen vähentämiseen 1.2:een verrattuna. Ohjelmointiagentin työnkulku voi tarkastella kuvakaappausta, paikantaa olennaisen koodin, ehdottaa korjausta ja hyödyntää työkalujensa palauttamaa suoritus- tai renderöintipalautetta. Ilmoita yhteensopivana säilytettävä rajapinta ja pyydä muutettu tuotos erillään sen oletuksista ja selityksestä.

Virallinen mallitaulukko ilmoittaa teksti-, kuva-, video- ja PDF-syötteen, tekstitulosteen ja 1,048,576 tokenin kontekstin. Kuvat tai videokatkelmat voivat tarjota näkyvää näyttöä kirjallisen tehtävän rinnalle. Kaaviokysymyksessä tulee säilyttää akselit, selitteet ja yksiköt; kuvakaappauskysymyksessä tulee määritellä toistettava tai tarkasteltava toiminta. PDF-kysymyksessä voi pyytää lähteisiin viittaavaa poimintaa tai vertailua jokaisen sivun yleisen yhteenvedon sijaan.

Valmistaja huomauttaa nimenomaisesti, ettei äänen ymmärtäminen ole täysin tuettua 1.3:ssa ja että ääntä sisältävien vastausten laatu voi heikentyä. Tämä eroaa 1.2:n dokumentoidusta audiovisuaalisesta kyvystä. Mallin tekstitulos ei myöskään itsessään tuota kuvaa, puhuttua tallennetta tai valmista tiedostoa ilman ympäröivän sovelluksen työkaluja.

Päättelypanos ja jatkuvuus

Dokumentoidut tasot ovat minimal, low, medium, high, xhigh ja max. Max kuuluu nimenomaan Standard 1.3:een. Muse Spark ei tue päättelyn poistamista käytöstä none-asetuksella; asetuksen pois jättäminen säilyttää mallin määrittämän päättelytason. Valitse panos varsinaisen ongelman mukaan ja jätä tilaa sekä sisäiselle päättelylle että tarvittavalle kirjalliselle tulokselle.

Päättelytokenit ja näkyvät tokenit jakavat tulosbudjetin. Raaka sisäinen päättely pysyy yksityisenä eikä palaudu tavallisena luettavana tekstinä. Valmistaja erottaa näkyvän keskusteluhistorian yksityisen päättelyn jatkuvuudesta: sen keskusteluliittymä ei paljasta jälkeä, jonka ulkoiset kutsujat voisivat toistaa, kun taas sen toinen dokumentoitu keskustelutyönkulku tukee hallittua tai salattua päättelyn jatkamista. Säilytä jatkopyynnön tarvitsemat lähteet, näkyvät viestit ja todelliset työkalutulokset sen sijaan, että olettaisit kaikkien liittymien säilyttävän yksityisen päättelyn samalla tavalla.

Työkalut ja rakenteiset tuotokset

Sovellus antaa kehittäjän määrittelemien funktioiden kuvaukset, malli muodostaa tarvittavat kutsuargumentit ja sovellus suorittaa kunkin kutsun sekä palauttaa siihen liittyvän tuloksen. Malli voi pyytää useita funktioita yhden vuoron aikana. Palauta jokaisen alkuperäisen toiminnon tulos ennen seuraavan johtopäätöksen pyytämistä, jotta vastaus käyttää todella haettua tai laskettua tietoa.

Valmistaja dokumentoi erikseen sisäänrakennetut hakutyökalut, jotka suoritetaan sen yhdistetyssä palvelussa. Kehittäjäfunktioilla ja näillä sisäänrakennetuilla työkaluilla on erilaiset suoritusjärjestelyt. Malli voi päätellä, mitä tietoa se tarvitsee, mutta pelkkä mallin valinta ei anna pääsyä koodivarastoon, selaimeen tai yksityiseen tietolähteeseen.

Rakenteinen tuloste voi rajata tuloksen annettuun JSON-skeemaan. Määrittele seuraavan vaiheen tarvitsemat kentät ja tyypit sekä puuttuvien lähdetietojen käsittely. Valmistajan strict-skeematilassa juuri on tavallinen objekti, jokainen ominaisuus on pakollinen ja ylimääräiset ominaisuudet on estetty; rekursiiviset skeemat hylätään. Nämä ovat valmistajan rakenteisen liittymän rajoitteita eivätkä todiste siitä, että oikein muotoillun tietueen faktat ovat tosia.

Pyydä hyödyllistä lopputuotosta varten lähteiden tukemat havainnot, ehdotettu muutos tai asiakirja ja ratkaisemattomat ehdot erikseen. Luetut lähteet eivät anna dokumentoidun kontekstin lisäksi riippumatonta kovaa syöte- tai tulostokenien enimmäiskapasiteettia. Pidä Standard 1.3 -identiteetti, päättelyvalinta ja yhdistetyn suoritusympäristön tulokset selvästi esillä koko tehtävän ajan.

Käytännön tehtävä

### Käytännön tehtävä

Tekninen esimerkki englanniksi

```
Resolve conflicting project reports

Prepare a decision brief from these reports. Engineering E: migration scripts passed staging checks. Operations O: production backup restoration has not been rehearsed. Release policy P: rehearsal must pass before migration approval. State what is established, what blocks approval and the next evidence needed. Keep staging success separate from production readiness and cite E, O or P beside each point.
```

#### Odotettu tulos

```
A source-linked brief with established facts, the blocking condition and one concrete evidence request.
```

#### Tarkista tulos

```
Staging checks alone never satisfy the policy's restoration-rehearsal requirement.
```

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

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

Meta /`meta/muse-spark-1.3`

### Aloitus

Muse Spark 1.3 on Metan multimodaalinen päättelymalli pitkäkestoisiin agentti- ja ohjelmointityönkulkuihin. Se seuraa lähteitä ja aiempia tuloksia, tukee valmistajan 1,048,576 tokenin kontekstia ja tässä Standard-versiossa max-tasolle ulottuvaa päättelyä sekä palauttaa tekstiä ja ehdotettuja työkalutoimintoja.

Hyväksytyt syötteet

Teksti

Tulokset

Teksti

### Saatavilla Ailootissa · syötteet & menetelmät

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

Syötetyypit

`text`

Tulostyypit

`text`

Tulosteen muoto

json tai SSE

| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
| --- | --- | --- | --- | --- |
| Kenttä`model` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat meta/muse-spark-1.3 | Oletus— |
| Kenttä`messages` | Tyyppi`message[]` | VaatimusPakollinen | Arvot & rajat Kohteiden vähimmäismäärä: 1 | Oletus— |
| Kenttä`messages[].role` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Esimerkit: system, user, assistant, tool, function Ehdot: Nämä roolit esitetään nimenomaisesti lähdekoodin yhteensopivuustyypeissä; mallin täsmällinen roolijoukko pysyy mallikohtaisena. Riippuu mallista | Oletus— |
| Kenttä`messages[].content` | Tyyppi`string\|content_part[]\|null` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`messages[].tool_calls` | Tyyppi`tool_call[]` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`messages[].tool_call_id` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: role=tool; käytä todella palautettua ID:tä | Oletus— |
| Kenttä`messages[].name` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`messages[].reasoning_content` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: Palauta todella saatu päättely takaisin mallille, kun kyseinen malli käyttää sitä | Oletus— |
| Kenttä`messages[].reasoning_details` | Tyyppi`object\|array` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`max_tokens` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Riippuu mallista | Oletus— |
| Kenttä`max_completion_tokens` | Tyyppi`integer` | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Riippuu mallista | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |
| Kenttä`stream_options.include_usage` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`temperature` | Tyyppi`number` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`top_p` | Tyyppi`number` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`stop` | Tyyppi`string\|string[]` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`tools` | Tyyppi`function_tool[]` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`tools[].type` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat function Riippuu mallista | Oletus— |
| Kenttä`tools[].function.name` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Sovelletaan, kun: funktiotyökalu annettu | Oletus— |
| Kenttä`tools[].function.description` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`tools[].function.parameters` | Tyyppi`JSON_schema` | VaatimusValinnainen | Arvot & rajat | Oletus— |
| Kenttä`tool_choice` | Tyyppi`string\|object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`parallel_tool_calls` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`response_format` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`reasoning_effort` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`reasoning` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`service_tier` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`instructions` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Yhteensopivuuskenttä | Oletus— |
| Kenttä`functions` | Tyyppi`function[]` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`function_call` | Tyyppi`string\|object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`prompt_cache_options` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`modalities` | Tyyppi`string[]` | VaatimusValinnainen | Arvot & rajat text | Oletus— |
| Kenttä`provider` | Tyyppi`object` | VaatimusValinnainen | Arvot & rajat Ehdot: provider.options hylätään tällä Ultran tekstireitillä | Oletus— |
| Kenttä`cache_control.ttl` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Ehdot: 1h hylätään varsinaisissa kehotevälimuistin kohdissa | Oletus— |

Syöteaineistojen yhdistelmät

**Teksti** · UTF8-teksti

`messages[].content`

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusmodel, messages |
| Parametri`material_types` | Sopimustext |
| Parametri`messages` | Sopimusviestitaulukko role/content-rakenteella |
| Parametri`file_material` | Sopimusvarsinainen UTF-8-asiakirja lisätään sellaisenaan tekstinä; tiedoston ID:tä ei päätellä |
| Parametri`optional_controls` | Sopimusstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametri`control_scope` | Sopimusmallikohtainen; käyttäjän funktiotyökalut eroavat palvelun isännöimistä työkaluista |
| Parametri`output_modalities` | Sopimustext |
| Parametri`hosted_operations` | Sopimusfalse |
| Parametri`multimodal_input_binding` | Sopimusnull |

Elinkaari: `synchronous_or_streamed`

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

Kontekstin pituus ei ole tuloksen yläraja.

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

### Hinnoittelu

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

Nopea tila

Vakiohinta Kun nopea tila on valittu

Flex-tila

Vakiohinta Kun flex-tila on valittu

Päättelyn enimmäisteho

Vakiohinta Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

Päättelyn teho · suuri

Vakiohinta Kun päättelyn teho on suuri

Päättelyn teho · pieni

Vakiohinta Kun päättelyn teho on pieni

Päättelyn teho · max

Vakiohinta Kun päättelyn teho on max

Päättelyn teho · keskitaso

Vakiohinta Kun päättelyn teho on keskitasoa

Päättelyn teho · vähimmäistaso

Vakiohinta Kun päättelyn teho on vähimmäistasolla

Päättelyn teho · xhigh

Vakiohinta Kun päättelyn teho on xhigh

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.

| Asetukset | Hinnasto | Kontekstin tokenit, enemmän kuin | Kontekstin tokenit, enintään raja-arvo mukaan lukien | Veloitus |
| --- | --- | --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Kontekstin tokenit, enemmän kuin— | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit **$0.0025** / 1K tokenia Tuloste · Tulostokenit **$0.0085** / 1K tokenia Syöte · Välimuistin luku **$0.0003** / 1K tokenia Syöte · Välimuistiin kirjoitus **—** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |
| AsetuksetPyynnön pituusluokka 1 | Hinnasto— | Kontekstin tokenit, enemmän kuin0 | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit **$0.0025** / 1K tokenia Tuloste · Tulostokenit **$0.0085** / 1K tokenia Syöte · Välimuistin luku **$0.0003** / 1K tokenia Syöte · Välimuistiin kirjoitus **—** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. [Varauksen ja lopullisen veloituksen toiminta →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython-suoratoisto

```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", "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',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',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Vastaanota ja tallenna tulokset

#### Ailoot Ultra · OpenAI Chat

json tai SSE

##### Säilytä kaikki valmistuneet tulokset

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

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

##### Jos alkuperäinen vastaus on tarkistettava

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

Vastauksen kentät

| Kenttä | Tyyppi |
| --- | --- |
| Kenttä`choices[].index` | Tyyppiinteger |
| Kenttä`choices[].message.content` | Tyyppistring\|null |
| Kenttä`choices[].message.tool_calls` | Tyyppitool\_call\[\] |
| Kenttä`choices[].message.reasoning_content` | Tyyppistring |
| Kenttä`choices[].message.reasoning_details` | Tyyppiobject\|array |
| Kenttä`choices[].finish_reason` | Tyyppistring\|null |
| Kenttä`usage` | Tyyppiobject |

Virheet ja seuraavat vaiheet

| Vastaus | Ehto | Seuraava vaihe |
| --- | --- | --- |
| Vastaus400 · `invalid_request_error` | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |

### Aliakset

#### Mallin aliakset

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

#### Menetelmäpolkujen aliakset

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

#### Liittyvät kutsujan ID:t

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

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

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

Meta /`meta/muse-spark-1.3`

### Aloitus

Muse Spark 1.3 on Metan multimodaalinen päättelymalli pitkäkestoisiin agentti- ja ohjelmointityönkulkuihin. Se seuraa lähteitä ja aiempia tuloksia, tukee valmistajan 1,048,576 tokenin kontekstia ja tässä Standard-versiossa max-tasolle ulottuvaa päättelyä sekä palauttaa tekstiä ja ehdotettuja työkalutoimintoja.

Hyväksytyt syötteet

Teksti

Tulokset

json · sse

### Saatavilla Ailootissa · syötteet & menetelmät

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

Syötetyypit

`text`

Tulostyypit

`json`, `sse`

Tulosteen muoto

JSON tai SSE

| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
| --- | --- | --- | --- | --- |
| Kenttä`model` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat meta/muse-spark-1.3 | Oletus— |
| Kenttä`messages` | Tyyppi`message[]` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`messages[].role` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat user, assistant | Oletus— |
| Kenttä`messages[].content` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`max_tokens` | Tyyppi`integer` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |

Syöteaineistojen yhdistelmät

**Teksti** · UTF-8-teksti

`messages[].content-merkkijono`

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusmodel, messages, max\_tokens |
| Parametri`optional_controls` | Sopimusstream |
| Parametri`material_types` | Sopimustext |
| Parametri`text_file_material` | SopimusLue varsinainen UTF-8-asiakirja ja sijoita sen teksti ilmoitettuun syöte- tai viestisisällön merkkijonoon. |

Elinkaari: `synchronous_or_streamed`

### Hinnoittelu

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

Nopea tila

Vakiohinta Kun nopea tila on valittu

Flex-tila

Vakiohinta Kun flex-tila on valittu

Päättelyn enimmäisteho

Vakiohinta Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

Päättelyn teho · suuri

Vakiohinta Kun päättelyn teho on suuri

Päättelyn teho · pieni

Vakiohinta Kun päättelyn teho on pieni

Päättelyn teho · max

Vakiohinta Kun päättelyn teho on max

Päättelyn teho · keskitaso

Vakiohinta Kun päättelyn teho on keskitasoa

Päättelyn teho · vähimmäistaso

Vakiohinta Kun päättelyn teho on vähimmäistasolla

Päättelyn teho · xhigh

Vakiohinta Kun päättelyn teho on xhigh

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.

| Asetukset | Hinnasto | Kontekstin tokenit, enemmän kuin | Kontekstin tokenit, enintään raja-arvo mukaan lukien | Veloitus |
| --- | --- | --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Kontekstin tokenit, enemmän kuin— | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit **$0.0025** / 1K tokenia Tuloste · Tulostokenit **$0.0085** / 1K tokenia Syöte · Välimuistin luku **$0.0003** / 1K tokenia Syöte · Välimuistiin kirjoitus **—** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |
| AsetuksetPyynnön pituusluokka 1 | Hinnasto— | Kontekstin tokenit, enemmän kuin0 | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit **$0.0025** / 1K tokenia Tuloste · Tulostokenit **$0.0085** / 1K tokenia Syöte · Välimuistin luku **$0.0003** / 1K tokenia Syöte · Välimuistiin kirjoitus **—** / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti **—** / 1K tokenia |

Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. [Varauksen ja lopullisen veloituksen toiminta →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot Ultra · Anthropic Messages

Täydellinen minimaalinen JSON-runkocurl · käytä omaa UTF-8-dokumenttiasiPython · tallenna koko tulos

```json
{
  "model": "meta/muse-spark-1.3",
  "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', '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', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

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

### Vastaanota ja tallenna tulokset

#### Ailoot Ultra · Anthropic Messages

JSON tai SSE

##### Säilytä kaikki valmistuneet tulokset

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

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

##### Jos alkuperäinen vastaus on tarkistettava

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

Vastauksen kentät

| Kenttä | Tyyppi |
| --- | --- |
| Kenttä`id` | Tyyppistring |
| Kenttä`model` | Tyyppistring |
| Kenttä`content[]` | Tyyppitext\|thinking\|tool\_use\|other content block |
| Kenttä`stop_reason` | Tyyppistring\|null |
| Kenttä`usage` | Tyyppiobject |

Virheet ja seuraavat vaiheet

| Vastaus | Ehto | Seuraava vaihe |
| --- | --- | --- |
| Vastaus400 · `invalid_request_error` | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |

### Aliakset

#### Mallin aliakset

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

#### Menetelmäpolkujen aliakset

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

#### Liittyvät kutsujan ID:t

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

FAQ · Meta: Muse Spark 1.3

Mitä syötteitä ja tuloksia on saatavilla?

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

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

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

Mitä rajoja sovelletaan?

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

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

## Yritys ja sen projektisalkku

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

## Osta tokenit alennuksella.

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

Tilaus

Valitse alennushintainen paketti säännöllisiä pyyntöjäsi varten.

Kampanjakoodi jopa 50%

Syötä koodi oston yhteydessä. Hinta lasketaan uudelleen voimassa olevan kampanjan mukaan.

Kulut historiassa

Malli, tokenit ja summa tallennetaan jokaiselle pyynnölle.

[Valitse tilaus](https://ailoot.ai/docs/fi/billing/subscriptions/) · [Katso mallihinnat](https://ailoot.ai/models/fi/)

## Yhdistä API tuotteeseen, jonka myyt.

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

Kaupallinen sovellus

Lisää tekstin, kuvien, videoiden ja äänen luonti palvelusi maksullisiin ominaisuuksiin.

Jälleenmyyjälisenssi

Lähetä projektikuvaus ja pääsyn toteutustapa. Pyydä kirjalliset käyttö- ja jälleenmyyntiehdot.

Asiakirjat verkkosivustolla

Palveluehdot, lisenssisopimus ja tietojenkäsittelykäytäntö ovat saatavilla ennen yhdistämistä.

[Pyydä jälleenmyyjälisenssi](mailto:support@ailoot.ai) · [Palveluehdot ja lisenssisopimus](https://ailoot.ai/legal/offer?lang=fi)

## Ailoot · Yritys ja sen projektisalkku





Ailoot perustuu kertyneeseen toimintakokemukseen, laajaan asiakaskuntaan, vakaaseen palveluun ja jatkuvaan KPI-seurantaan.





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





Ailoot hyödyntää tätä toimintakokemusta tarjotessaan API-yhteyden tekoälytoimintoihin asiakkaiden tuotteissa, agenteissa, sovelluksissa ja automaatioissa.
