Muse Spark 1.2
by meta · family muse-spark
Facts
| Release date | 2026-08-05 |
|---|---|
| Retired date | — |
| Knowledge cutoff | — |
| Context (max) | 1,048,576 |
| Max output | 131,072 |
| Modalities | text, image, audio, video → text |
| Aliases | muse-spark-1.2 |
| Open weights | no |
| Description | Meta's hosted flagship (served by the Meta Model API); always-on reasoning (reasoning_effort none returns 400); 1M context; image/video/PDF/audio input. |
Unknown values are shown as —.
Intelligence Index v4.1.1: 57 · xhigh effort · Source: Artificial Analysis (accessed 2026-08-20)
Offerings
| Provider | Wire ID | Variant | Endpoint | Protocol | Status | Price (USD / Mtok) | Reasoning |
|---|---|---|---|---|---|---|---|
| Meta Model API | muse-spark-1.2 | v1-chat-completions | openai-chat | ga | 1.25 / 4.25 | effort · default on · mandatory · returns hidden | |
| Meta Model API | muse-spark-1.2-contributor | contributor | v1-responses | openai-responses | ga | 0.10 / 0.20 | effort · default on · mandatory · returns reasoning_summary · round-trips encrypted_content |
| Meta Model API | muse-spark-1.2 | v1-responses | openai-responses | ga | 1.25 / 4.25 | effort · default on · mandatory · returns reasoning_summary · round-trips encrypted_content | |
| OpenCode Go | muse-spark-1.2-contributor | contributor | go-chat-completions | openai-chat | ga | — | effort · default on · mandatory · returns hidden |
| OpenCode Go | muse-spark-1.2 | go-chat-completions | openai-chat | retired | — | effort · default on · mandatory · returns hidden | |
| OpenCode Zen | muse-spark-1.2 | chat-completions | openai-chat | ga | 1.25 / 4.25 | effort · default on · mandatory · returns hidden | |
| OpenRouter | meta/muse-spark-1.2 | chat-completions | openai-chat | ga | 1.25 / 4.25 | effort · default on · mandatory · returns reasoning_content · round-trips reasoning_content |
Reasoning controls
Meta Model API· muse-spark-1.2· v1-chat-completions effort
reasoning_effort minimallowmedium●highxhigh Default effort is not documented — verify.
effort · default on · mandatory · returns hidden
Meta Model API· muse-spark-1.2-contributor· v1-responses effort
reasoning.effort minimallowmedium●highxhigh Default effort is not documented — verify.
effort · default on · mandatory · returns reasoning_summary · round-trips encrypted_content
Meta Model API· muse-spark-1.2· v1-responses effort
reasoning.effort minimallowmedium●highxhigh Default effort is not documented — verify.
effort · default on · mandatory · returns reasoning_summary · round-trips encrypted_content
OpenCode Go· muse-spark-1.2-contributor· go-chat-completions effort
reasoning_effort minimallowmedium●highxhigh
effort · default on · mandatory · returns hidden
OpenCode Go· muse-spark-1.2· go-chat-completions effort
reasoning_effort minimallowmedium●highxhigh
effort · default on · mandatory · returns hidden
OpenCode Zen· muse-spark-1.2· chat-completions effort
reasoning_effort minimallowmedium●highxhigh
effort · default on · mandatory · returns hidden
OpenRouter· meta/muse-spark-1.2· chat-completions effort
reasoning.effort lowmedium●highxhighmax
effort · default on · mandatory · returns reasoning_content · round-trips reasoning_content
Example requests
Meta Model API · openai-chat · muse-spark-1.2
curl 'https://api.meta.ai/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}'Python (requests)
import requests
resp = requests.post(
"https://api.meta.ai/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://api.meta.ai/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}),
})
console.log(await resp.json())Meta Model API · openai-responses · muse-spark-1.2-contributor
curl 'https://api.meta.ai/v1/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "muse-spark-1.2-contributor",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://api.meta.ai/v1/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "muse-spark-1.2-contributor",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://api.meta.ai/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "muse-spark-1.2-contributor",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
Meta Model API · openai-responses · muse-spark-1.2
curl 'https://api.meta.ai/v1/responses' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "muse-spark-1.2",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://api.meta.ai/v1/responses",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "muse-spark-1.2",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://api.meta.ai/v1/responses", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "muse-spark-1.2",
"input": "Tell me about the weather.",
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
encrypted_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).
OpenCode Go · openai-chat · muse-spark-1.2-contributor
curl 'https://opencode.ai/zen/go/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "muse-spark-1.2-contributor",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/go/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "muse-spark-1.2-contributor",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/go/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "muse-spark-1.2-contributor",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}),
})
console.log(await resp.json())OpenCode Go · openai-chat · muse-spark-1.2
curl 'https://opencode.ai/zen/go/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/go/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/go/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}),
})
console.log(await resp.json())OpenCode Zen · openai-chat · muse-spark-1.2
curl 'https://opencode.ai/zen/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}'Python (requests)
import requests
resp = requests.post(
"https://opencode.ai/zen/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://opencode.ai/zen/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning_effort": "medium"
}),
})
console.log(await resp.json())OpenRouter · openai-chat · meta/muse-spark-1.2
curl 'https://openrouter.ai/api/v1/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "meta/muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}'Python (requests)
import requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
json={
"model": "meta/muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
},
)
print(resp.json())TypeScript (fetch)
const resp = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": "Bearer <YOUR_API_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "meta/muse-spark-1.2",
"messages": [
{
"role": "user",
"content": "Tell me about the weather."
}
],
"reasoning": {
"effort": "medium"
}
}),
})
console.log(await resp.json())- ⚠ Responses include
reasoning_contentartifacts — pass them back unmodified on subsequent turns (dropping them triggers 400s or quality loss).