> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.empiriolabs.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.empiriolabs.ai/_mcp/server.

# Muse Spark 1.2

> Meta's updated frontier reasoning model with a 1,048,576-token context, image, video, audio, and PDF understanding, web search, and tool calling.

![Muse Spark 1.2](https://media.empiriolabs.ai/model-logos/muse-spark-1-1.png)

[Meta AI](/providers/meta) · Text Generation

`POST /v1/chat/completions`

Meta's updated frontier reasoning model with a 1,048,576-token context, image, video, audio, and PDF understanding, web search, and tool calling.

## At a glance

| Field               | Value                                                                                                                                         |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Model id            | `muse-spark-1-2`                                                                                                                              |
| Model release date  | 2026-08-05                                                                                                                                    |
| Input modalities    | Text, Image, Video, Audio, Document                                                                                                           |
| Output modalities   | Text                                                                                                                                          |
| Context window      | 1M                                                                                                                                            |
| Weight precision    | -                                                                                                                                             |
| Max output tokens   | 131,072                                                                                                                                       |
| Features            | reasoning, multimodal, video\_understanding, function\_calling, structured\_output, web\_search, cache, audio\_input, document\_understanding |
| Native inference    | No                                                                                                                                            |
| New                 | Yes                                                                                                                                           |
| Structured output   | JSON Schema                                                                                                                                   |
| Supported endpoints | `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`, `POST /v1beta/models/muse-spark-1-2:generateContent`                  |
| Alternate model ids | `muse-spark-1.2`, `meta/muse-spark-1-2`, `meta/muse-spark-1.2`                                                                                |

## Pricing

| Charge              | Spec                       | Rate      |
| ------------------- | -------------------------- | --------- |
| Input               | per 1M prompt tokens       | \$1.25    |
| Output              | per 1M generated tokens    | \$4.25    |
| Implicit cache read | per 1M cached input tokens | \$1.00    |
| Web search          | per search query           | \$0.00825 |

## Example request

```bash
curl https://api.empiriolabs.ai/v1/chat/completions \
  -H 'Authorization: Bearer $EMPIRIOLABS_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"model": "muse-spark-1-2", "messages": [{"role":"user","content":"Hello"}]}'
```

## Parameters

| Parameter             | Type    | Required | Default    | Description                                                                                                                                                                                                                        |
| --------------------- | ------- | -------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `max_tokens`          | integer | no       | `16384`    | Maximum number of output tokens to generate. Reasoning tokens count against this budget. · Range: 1 – 131072                                                                                                                       |
| `temperature`         | number  | no       | `1`        | Controls randomness. Lower values make responses more deterministic. · Range: 0 – 2                                                                                                                                                |
| `top_p`               | number  | no       | `1`        | Nucleus sampling cutoff. · Range: 0.01 – 1                                                                                                                                                                                         |
| `presence_penalty`    | number  | no       | `0`        | Penalizes tokens that already appeared, encouraging new topics. · Range: -2 – 2                                                                                                                                                    |
| `frequency_penalty`   | number  | no       | `0`        | Penalizes frequent tokens, reducing repetition. · Range: -2 – 2                                                                                                                                                                    |
| `seed`                | integer | no       | -          | Random seed for more reproducible sampling.                                                                                                                                                                                        |
| `reasoning_effort`    | enum    | no       | `"medium"` | Reasoning is always on; this sets how much effort the model spends before answering. Higher effort uses more reasoning tokens. Reasoning text is not returned in responses. · Allowed: `minimal`, `low`, `medium`, `high`, `xhigh` |
| `tool_web_search`     | boolean | no       | false      | Enable built-in web search with cited sources. Adds \$0.00825 per executed search query; a single request can run more than one search.                                                                                            |
| `tools`               | array   | no       | `[]`       | OpenAI-compatible function and custom tool definitions. On /v1/responses, tool\_search and defer\_loading can discover deferred tools.                                                                                             |
| `tool_choice`         | object  | no       | -          | OpenAI-compatible tool choice control. This model supports auto and none.                                                                                                                                                          |
| `parallel_tool_calls` | boolean | no       | true       | Allow the model to request multiple function tools in one response.                                                                                                                                                                |
| `response_format`     | enum    | no       | -          | Return structured JSON output. JSON mode returns any valid JSON object; JSON Schema mode enforces an exact schema.                                                                                                                 |

## Notes

Reasoning is always on and cannot be disabled. Reasoning stays internal, and reasoning tokens are billed as output tokens and count against max\_tokens. reasoning\_effort accepts minimal through xhigh. Text, image, MP4 video, MP3/WAV audio, and PDF inputs are supported; up to 50 images can be attached. PDFs use text from the first 100 pages and page images from the first 50 pages. Built-in web search adds \$0.00825 per executed search query and reports the count in usage.tool\_usage. OpenAI Responses requests also support custom tools and deferred tool search. tool\_choice supports auto and none. Prompts and completions sent to this Standard checkpoint are not used by Meta to train its models.

**Per-tool billing (`usage.tool_usage`)**

When this model invokes tools inside a single request, the response carries a normalized `usage.tool_usage` map alongside the token counts. The example below shows the shape. Exact field names, units, and which tools appear can vary by tool:

```json
"usage": {
  "prompt_tokens": 123,
  "completion_tokens": 456,
  "cost_usd": 0.0042,
  "tool_usage": {"web_search": 3}
}
```

The tool counts are already factored into `cost_usd` and are surfaced so you can audit per-tool billing. The field is omitted when no billed tool was invoked.

---

*Machine-readable schema:* `GET https://api.empiriolabs.ai/v1/models/muse-spark-1-2`.