Meta: Muse Spark 1.2
Muse Spark 1.2 er Metas multimodale ræsonnementsmodel med fokus på visuel kodning, diagrammer og audiovisuel forståelse. Den kan omdanne vedlagte billeder eller video til foreslået web- og spilkode gennem tilsluttede værktøjer med tekstoutput og en producentangivet kontekst på 1.048.576 tokens.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsmeta/muse-spark-1.2 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesmeta/muse-spark-1.2
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
Muse Spark 1.2 er en kodeorienteret opdatering af Metas Muse Spark 1.1 med vægt på multimodal forståelse og visuelt ræsonnement. Producentens demonstrationer forbinder billeder og video med digitale artefakter som websider og spil, mens modeltabellen angiver en kontekst på 1.048.576 tokens og tekstoutput. Denne post vedrører Standard 1.2, adskilt fra Contributor 1.2 og den senere 1.3.
Visuel kodning
Udgivelsen beskriver at omsætte visuelt layout, hierarki og stil til fungerende kode og derefter undersøge det resulterende artefakt gennem værktøjer. Ved en nyttig opgave skal du vedlægge billedet eller klippet sammen med den adfærd, der skal implementeres. Et skærmbillede kan vise udseendet, men lade interaktionerne være uspecificerede, så angiv de kontroller, tilstande og forventede reaktioner på brugerhandlinger, resultatet skal indeholde.
Bed om den synlige struktur, den foreslåede implementering og antagelserne særskilt. En opgave med at genskabe en side kan eksempelvis kræve de navngivne afsnit og visuelle relationer, referencen viser, og derefter bede om koden til én defineret interaktion. Rendering og afprøvning af denne kode kræver det tilsluttede miljø; det resulterende skærmbillede eller feedback fra kørslen kan blive input til næste rettelse.
Producenten fremhæver diagramforståelse og visuelt ræsonnement ud over kodegenerering. Bevar akser, enheder og etiketter i et diagram, og bed om den observation, der understøtter hver konklusion. Ved en skematisk tegning skal du identificere den relation, der skal forklares, og de kildemærkater, der skal bevares. Ved et dokumentbillede skal du skelne mellem transskription af den synlige ordlyd og et resumé eller en fortolkning.
Rumlige og audiovisuelle arbejdsgange
1.2-lanceringen omtaler også en specialiseret robotvariant og et planlægnings-/handlingssystem med to niveauer. Dette er særskilte eksperimentelle komponenter: en overordnet model ræsonnerer over scenen og delopgaverne, mens en særskilt vision-sprog-handlingspolitik udfører handlinger på lavt niveau. Standardmodellen med tekstoutput bør ikke beskrives som en robotaktuator, blot fordi familiens udgivelse indeholder denne demonstration.
For Standard-versionen dokumenterer modeltabellen tekst, billeder, video, lyd og PDF-filer som input. En audiovisuel opgave kan spørge til den hændelse eller talte betingelse, der er relevant for et spørgsmål, og returnere en ordnet redegørelse for det understøttende materiale. Identificér det relevante segment og svarformen frem for at bede om et uafgrænset resumé af alle modaliteter.
Producentens eksempler kombinerer videoforståelse, detaljeret billedtekstning og værktøjsunderstøttet undersøgelse. En praktisk arbejdsgang kan sammenligne en demonstration med dens skriftlige procedure, bede om synlige overensstemmelser og forskelle og derefter forberede et tekstresultat til et senere applikationstrin. Genereret prosa, kode og strukturerede fund er det dokumenterede output; billed- eller talegenerering tilhører særskilt navngivne komponenter.
Ræsonnementsindstillinger og kontekst
Muse Spark ræsonnerer internt, før den producerer synlig tekst. De dokumenterede niveauer, der gælder for 1.2, er minimal, low, medium, high og xhigh. Max tilhører Standard 1.3, og none er ikke en understøttet måde at deaktivere ræsonnement på. Når intet niveau angives, bruger modellen et niveau, den selv bestemmer.
Konteksten på 1.048.576 tokens kan bevare beslægtet kildemateriale og samtale, men målet og slutresultatet skal stadig defineres. Ved en lang dokumentopgave skal du identificere spørgsmålet, mærke hver kilde og bevare placeringen ved siden af udtrukne oplysninger. Ræsonnementstokens og synlige svartokens deler outputbudgettet, så afsæt tilstrækkelig plads til den forklaring eller kode, opgaven faktisk kræver.
Råt internt ræsonnement udstilles ikke som almindelig tekst. Producentens chatgrænseflade viderefører heller ikke et læseligt privat spor på tværs af samtaleture for eksterne kaldere; bevar de synlige beskeder, kilder og returnerede værktøjsudfald, der kræves til en opfølgning. Logsandsynligheder understøttes ikke, så modellen tilbyder ikke denne funktion som mål for konfidensen i sine konklusioner.
Værktøjer og strukturerede artefakter
Applikationen beskriver udviklerfunktioner, modellen genererer de foreslåede kald og argumenter, og applikationen udfører dem og returnerer resultatet for hvert kald. Modellen kan derefter undersøge den faktiske feedback og vælge næste trin. Udgivelsens vægt på at undersøge både visuelle input og genererede artefakter afhænger af, at disse værktøjer er en del af miljøet.
Struktureret output kan begrænse teksten til et defineret JSON-skema. En visuel udtrækspost kan indeholde kildebilledet, objektet eller etiketten, den observerede værdi og fortolkningen. Et kodereview kan identificere det berørte symbol, uoverensstemmelsen og den foreslåede ændring. Producentens strikte tilstand kræver et almindeligt objekt som rod, at alle angivne egenskaber er påkrævede, og at ekstra egenskaber er deaktiveret; rekursive skemaer afvises.
Definér artefaktets korrekthed praktisk: hvilke kildedetaljer det skal bevare, hvordan en interaktion skal opføre sig, og hvilken returneret feedback der vil fastslå denne adfærd. De læste kilder angiver ikke uafhængige maksimale input- eller outputtokenkapaciteter ud over modelkonteksten. Bevar Standard 1.2-udgaven og forskellen mellem et foreslået tekstartefakt og det udførelses- eller renderingsresultat, der bruges til at undersøge det.
Praktisk opgave
Praktisk opgave
Teknisk eksempel på engelsk
Implement a specified responsive layout
Draft semantic HTML and CSS for a product comparison section with a title, introduction and three feature columns. At narrow widths, stack the columns in the same reading order. Each column needs a heading and three bullet points. Use the placeholder copy supplied in your code and explain the breakpoint choice; return source only, without claiming a rendered result.Forventet resultat
A bounded HTML/CSS section and a short explanation of stacking behavior and reading order.Kontrollér resultatet
At the proposed narrow breakpoint, the DOM order and visual order match and no horizontal overflow is introduced.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions meta/muse-spark-1.2
meta/muse-spark-1.2Start
Muse Spark 1.2 er Metas multimodale ræsonnementsmodel med fokus på visuel kodning, diagrammer og audiovisuel forståelse. Den kan omdanne vedlagte billeder eller video til foreslået web- og spilkode gennem tilsluttede værktøjer med tekstoutput og en producentangivet kontekst på 1.048.576 tokens.
- Accepterede input
- Tekst
- Resultater
- Tekst
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Inputtyper
text- Outputtyper
text- Outputformat
- json eller SSE
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser meta/muse-spark-1.2 | Standard— |
Feltmessages | Typemessage[] | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 | Standard— |
Feltmessages[].role | Typestring | KravPåkrævet | Værdier og grænser Eksempler: system, user, assistant, tool, function Betingelser: Disse roller er eksplicit repræsenteret i kildekodens kompatibilitetstyper; modellens præcise rollesæt er fortsat modelspecifikt. Afhænger af modellen | Standard— |
Feltmessages[].content | Typestring|content_part[]|null | KravValgfrit | Værdier og grænser | Standard— |
Feltmessages[].tool_calls | Typetool_call[] | KravValgfrit | Værdier og grænser | Standard— |
Feltmessages[].tool_call_id | Typestring | KravValgfrit | Værdier og grænser Gælder når: role=tool; brug det faktisk returnerede ID | Standard— |
Feltmessages[].name | Typestring | KravValgfrit | Værdier og grænser | Standard— |
Feltmessages[].reasoning_content | Typestring | KravValgfrit | Værdier og grænser Gælder når: Send det faktisk returnerede ræsonnement tilbage, når modellen bruger det | Standard— |
Feltmessages[].reasoning_details | Typeobject|array | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltmax_tokens | Typeinteger | KravValgfrit | Værdier og grænser Minimum: 1 Afhænger af modellen | Standard— |
Feltmax_completion_tokens | Typeinteger | KravValgfrit | Værdier og grænser Minimum: 1 Afhænger af modellen | Standard— |
Feltstream | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Feltstream_options.include_usage | Typeboolean | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttemperature | Typenumber | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttop_p | Typenumber | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltstop | Typestring|string[] | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttools | Typefunction_tool[] | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Felttools[].type | Typestring | KravValgfrit | Værdier og grænser function Afhænger af modellen | Standard— |
Felttools[].function.name | Typestring | KravPåkrævet | Værdier og grænser Gælder når: funktionsværktøj angivet | Standard— |
Felttools[].function.description | Typestring | KravValgfrit | Værdier og grænser | Standard— |
Felttools[].function.parameters | TypeJSON_schema | KravValgfrit | Værdier og grænser | Standard— |
Felttool_choice | Typestring|object | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltparallel_tool_calls | Typeboolean | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltresponse_format | Typeobject | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltreasoning_effort | Typestring | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltreasoning | Typeobject | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltservice_tier | Typestring | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltinstructions | Typestring | KravValgfrit | Værdier og grænser Kompatibilitetsfelt | Standard— |
Feltfunctions | Typefunction[] | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltfunction_call | Typestring|object | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltprompt_cache_options | Typeobject | KravValgfrit | Værdier og grænser Afhænger af modellen | Standard— |
Feltmodalities | Typestring[] | KravValgfrit | Værdier og grænser text | Standard— |
Feltprovider | Typeobject | KravValgfrit | Værdier og grænser Betingelser: provider.options afvises på denne Ultra-tekstrute | Standard— |
Feltcache_control.ttl | Typestring | KravValgfrit | Værdier og grænser Betingelser: 1h afvises på de faktiske placeringer for promptcaching | Standard— |
Kombinationer af inputmaterialer
Tekst · UTF8-tekst
messages[].content
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, messages |
Parametermaterial_types | Kontrakttext |
Parametermessages | Kontraktbeskedarray med strukturen role/content |
Parameterfile_material | Kontraktfaktisk UTF-8-dokument indsat som bogstavelig tekst; intet fil-ID udledes |
Parameteroptional_controls | Kontraktstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Kontraktmodelspecifikt; brugerens funktionsværktøjer er forskellige fra hostede værktøjer |
Parameteroutput_modalities | Kontrakttext |
Parameterhosted_operations | Kontraktfalse |
Parametermultimodal_input_binding | Kontraktnull |
Livscyklus: synchronous_or_streamed
Send det præcise model-ID med messages.
Kontekstlængde er ikke et outputloft.
En tekstfil kan levere bogstavelig tekst; billed-, lyd- og filobjektinput kræver en præcis binding.
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Standardpris Når hurtig tilstand er valgt
- flex-tilstand
- Standardpris Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Standardpris Når default-justeringen anvendes ved maksimal ræsonneringsindsats
- Ræsonneringsindsats · high
- Standardpris Når ræsonneringsindsatsen er sat til high
- Ræsonneringsindsats · low
- Standardpris Når ræsonneringsindsatsen er sat til low
- Ræsonneringsindsats · medium
- Standardpris Når ræsonneringsindsatsen er sat til medium
- Ræsonneringsindsats · minimal
- Standardpris Når ræsonneringsindsatsen er minimal
- Ræsonneringsindsats · xhigh
- Standardpris Når ræsonneringsindsatsen er sat til xhigh
Ailoot-takster
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Konteksttokens, mere end | Konteksttokens, op til og med | Beløb |
|---|---|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Konteksttokens, mere end— | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0025 / 1K tokens Output · Outputtokens $0.0085 / 1K tokens Input · Cachelæsning $0.0003 / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
| KonfigurationAnmodningslængde · niveau 1 | Takstplan— | Konteksttokens, mere end0 | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0025 / 1K tokens Output · Outputtokens $0.0085 / 1K tokens Input · Cachelæsning $0.0003 / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
Ailoot Ultra · OpenAI Chat
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", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='meta/muse-spark-1.2',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
with client.chat.completions.stream(model='meta/muse-spark-1.2',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")
Hent og gem resultater
Ailoot Ultra · OpenAI Chat
json eller SSE
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Bevar hvert valg og dets indhold, værktøjskald og ræsonnement. Saml i SSE deltaer efter valg-/værktøjsindeks, og bevar den endelige afslutningsårsag og forbrugsoplysningerne.
Hvis det oprindelige svar skal kontrolleres
Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.
Svarfelter
| Felt | Type |
|---|---|
Feltchoices[].index | Typeinteger |
Feltchoices[].message.content | Typestring|null |
Feltchoices[].message.tool_calls | Typetool_call[] |
Feltchoices[].message.reasoning_content | Typestring |
Feltchoices[].message.reasoning_details | Typeobject|array |
Feltchoices[].finish_reason | Typestring|null |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra meta/muse-spark-1.2
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
Ailoot Ultra · Anthropic Messages POST /v1/messages meta/muse-spark-1.2
meta/muse-spark-1.2Start
Muse Spark 1.2 er Metas multimodale ræsonnementsmodel med fokus på visuel kodning, diagrammer og audiovisuel forståelse. Den kan omdanne vedlagte billeder eller video til foreslået web- og spilkode gennem tilsluttede værktøjer med tekstoutput og en producentangivet kontekst på 1.048.576 tokens.
- Accepterede input
- Tekst
- Resultater
- json · sse
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Inputtyper
text- Outputtyper
json,sse- Outputformat
- JSON eller SSE
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser meta/muse-spark-1.2 | Standard— |
Feltmessages | Typemessage[] | KravPåkrævet | Værdier og grænser | Standard— |
Feltmessages[].role | Typestring | KravPåkrævet | Værdier og grænser user, assistant | Standard— |
Feltmessages[].content | Typestring | KravPåkrævet | Værdier og grænser | Standard— |
Feltmax_tokens | Typeinteger | KravPåkrævet | Værdier og grænser | Standard— |
Feltstream | Typeboolean | KravValgfrit | Værdier og grænser | Standardfalse |
Kombinationer af inputmaterialer
Tekst · UTF-8-tekst
messages[].content som streng
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, messages, max_tokens |
Parameteroptional_controls | Kontraktstream |
Parametermaterial_types | Kontrakttext |
Parametertext_file_material | KontraktLæs det faktiske UTF-8-dokument, og indsæt teksten i det angivne input eller beskedens indholdsstreng. |
Livscyklus: synchronous_or_streamed
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Standardpris Når hurtig tilstand er valgt
- flex-tilstand
- Standardpris Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Standardpris Når default-justeringen anvendes ved maksimal ræsonneringsindsats
- Ræsonneringsindsats · high
- Standardpris Når ræsonneringsindsatsen er sat til high
- Ræsonneringsindsats · low
- Standardpris Når ræsonneringsindsatsen er sat til low
- Ræsonneringsindsats · medium
- Standardpris Når ræsonneringsindsatsen er sat til medium
- Ræsonneringsindsats · minimal
- Standardpris Når ræsonneringsindsatsen er minimal
- Ræsonneringsindsats · xhigh
- Standardpris Når ræsonneringsindsatsen er sat til xhigh
Ailoot-takster
Priser efter konfiguration
Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.
| Konfiguration | Takstplan | Konteksttokens, mere end | Konteksttokens, op til og med | Beløb |
|---|---|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Konteksttokens, mere end— | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0025 / 1K tokens Output · Outputtokens $0.0085 / 1K tokens Input · Cachelæsning $0.0003 / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
| KonfigurationAnmodningslængde · niveau 1 | Takstplan— | Konteksttokens, mere end0 | Konteksttokens, op til og medIngen øvre grænse | Beløb Input · Inputtokens $0.0025 / 1K tokens Output · Outputtokens $0.0085 / 1K tokens Input · Cachelæsning $0.0003 / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
Ailoot Ultra · Anthropic Messages
{
"model": "meta/muse-spark-1.2",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'meta/muse-spark-1.2', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'meta/muse-spark-1.2', '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))
Hent og gem resultater
Ailoot Ultra · Anthropic Messages
JSON eller SSE
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Bevar alle indholdsblokke, ræsonnementssignaturer og faktiske værktøjsbrugs-ID’er. Saml alle SSE-blokdeltaer; den første tekstblok er ikke hele outputtet.
Hvis det oprindelige svar skal kontrolleres
Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.
Svarfelter
| Felt | Type |
|---|---|
Feltid | Typestring |
Feltmodel | Typestring |
Feltcontent[] | Typetext|thinking|tool_use|other content block |
Feltstop_reason | Typestring|null |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra meta/muse-spark-1.2
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
FAQ · Meta: Muse Spark 1.2
- Hvilke input og resultater er tilgængelige?
POST /v1/chat/completions·meta/muse-spark-1.2:text→textPOST /v1/messages·meta/muse-spark-1.2:text→json,sse- Hvilke felter bruger anmodningen?
POST /v1/chat/completions·meta/muse-spark-1.2:model,messages,stream,modalities,providerPOST /v1/messages·meta/muse-spark-1.2:model,messages,max_tokens,stream- Hvilke grænser gælder?
POST /v1/chat/completions·meta/muse-spark-1.2:messages.min_items:1