Muse Spark 1.2 Contributor
Muse Spark 1.2 Contributor serves the same weights as Muse Spark 1.2 at a substantially lower rate, in exchange for Meta using your inputs and outputs to train its models.
View API reference- Input and output price
- Input $0.10, Output $0.20, Per 1M tokens
- 24h uptime
- Loading AI Gateway uptime
import { streamText } from 'ai'
const result = streamText({ model: 'meta/muse-spark-1.2-contributor', prompt: 'Why is the sky blue?'})Copy link to headingPlayground
Try out Muse Spark 1.2 Contributor by Meta. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
Muse Spark 1.2 Contributor
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Copy link to headingUptime24 hours
Direct request success rate on AI Gateway and per-provider. Visit the docs for more info.
Copy link to headingThroughput24 hours
P50 throughput on live AI Gateway traffic, in tokens per second (TPS). Visit the docs for more info.
Copy link to headingLatency24 hours
P50 time to first token (TTFT) on live AI Gateway traffic, in milliseconds. View the docs for more info.
Getting started
Call Muse Spark 1.2 Contributor through AI Gateway with the AI SDK generateText and streamText functions, or through the OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages APIs by changing the base URL. AI Gateway authenticates the request and routes it to an available provider.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the text generation quickstart.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'meta/muse-spark-1.2-contributor', prompt: 'Why is the sky blue?', });
console.log(result.text);}
main().catch(console.error);Top-level parameters
The same Muse Spark 1.2 Contributor request in each API format AI Gateway supports.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'meta/muse-spark-1.2-contributor', system: 'You are a concise technical assistant.', prompt: 'Summarize the tradeoffs between static generation and SSR.', maxOutputTokens: 1024, });
console.log(result.text);}
main().catch(console.error);Standard parameters like prompt, messages, temperature, and tools work as documented in the AI SDK docs. These are the parameters with model-specific behavior.
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model ID in the form creator/model, e.g. meta/muse-spark-1.2-contributor. AI Gateway routes the request to an available provider. |
maxOutputTokens | number | No | Hard cap on generated tokens. Muse Spark 1.2 Contributor supports up to 1,048,576 output tokens. Reasoning tokens count toward this limit. |
reasoning | 'provider-default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | No | Provider-agnostic reasoning effort, available in AI SDK 7 or later. Maps to the provider’s native reasoning configuration; reasoning settings under providerOptions take precedence when both are set. See the Reasoning section below. |
providerOptions | Record<string, JSONValue> | No | AI Gateway routing options under gateway, plus any provider-native options under the provider’s own namespace — see the table below. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Text | — | — | — | — | Prompt and response share the 1M-token context window |
| Image | — | URL, base64, Uint8Array | — | — | Sent as image parts in messages; counts as input tokens |
| — | URL, base64, Uint8Array | — | — | Sent as file parts in messages; counts as input tokens |
Provider options
Set AI Gateway routing options under providerOptions.gateway. For provider-specific options, pass them under the provider’s namespace as documented by the AI SDK.
Learn more in the AI SDK provider docs.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'meta/muse-spark-1.2-contributor', prompt: 'Why is the sky blue?', providerOptions: { gateway: { only: ['meta'], }, }, });
console.log(result.text);}
main().catch(console.error);These AI Gateway routing options apply to every model. Provider-specific options pass through under the provider’s own namespace (for example providerOptions.anthropic) exactly as documented by the AI SDK.
| Parameter | Type | Required | Description |
|---|---|---|---|
providerOptions.gateway.only | string[] | No | Restrict routing to these provider slugs. Requests fail over only within the listed providers. |
providerOptions.gateway.order | string[] | No | Preferred provider order. Listed providers are tried first; unlisted providers remain available as fallbacks. |
providerOptions.gateway.sort | 'cost' | 'ttft' | 'tps' | No | Rank candidate providers by price, time to first token, or tokens per second instead of the default routing order. |
providerOptions.gateway.zeroDataRetention | boolean | No | Route only to providers with a zero-data-retention policy for this model. |
Routing across providers
AI Gateway serves the same model through multiple providers and fails over automatically. order expresses a preference while keeping every provider eligible; only is a hard allowlist — if none of the listed providers are available the request fails instead of falling back.
Options under a provider's own namespace (for example providerOptions.anthropic) are forwarded to that provider with the request. Providers ignore option namespaces that don't apply to them, so it is safe to set provider options alongside gateway routing options.
Reasoning
AI Gateway bridges reasoning across every API format. The AI SDK exposes a provider-agnostic top-level reasoning level (none, minimal, low, medium, high, or xhigh); the Chat Completions and Responses formats take the same effort under reasoning.effort; and the Anthropic Messages format uses a native thinking token budget. Whichever you send, the gateway maps it to the target model’s native configuration, converting between effort levels and token budgets as needed. Reasoning-related settings under providerOptions take full precedence over the top-level reasoning value and are never merged. Reasoning tokens typically count toward your output-token usage, though how they’re reported and billed varies by provider.
Learn more in the AI Gateway reasoning guide.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'meta/muse-spark-1.2-contributor', prompt: 'Explain the Monty Hall problem step by step.', reasoning: 'high', });
console.log(result.text);}
main().catch(console.error);Image input
Send images alongside text as message parts. Images count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'meta/muse-spark-1.2-contributor', messages: [ { role: 'user', content: [ { type: 'text', text: 'Describe this image.' }, { type: 'image', image: 'https://example.com/photo.jpg' }, ], }, ], });
console.log(result.text);}
main().catch(console.error);PDF input
Attach PDFs as file parts. Their contents count as input tokens.
import { generateText } from 'ai';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'meta/muse-spark-1.2-contributor', messages: [ { role: 'user', content: [ { type: 'text', text: 'Summarize this document.' }, { type: 'file', mediaType: 'application/pdf', data: 'https://example.com/document.pdf', }, ], }, ], });
console.log(result.text);}
main().catch(console.error);Tool calling
Expose tools the model can call. Define each tool’s inputs with a Zod schema.
import { generateText, tool } from 'ai';import { z } from 'zod';import 'dotenv/config';
async function main() { const result = await generateText({ model: 'meta/muse-spark-1.2-contributor', prompt: 'What is the weather in San Francisco?', tools: { getWeather: tool({ description: 'Get the current weather for a location', inputSchema: z.object({ location: z.string() }), execute: async ({ location }) => ({ location, temperatureC: 18 }), }), }, });
console.log(result.text);}
main().catch(console.error);Copy link to headingAbout Muse Spark 1.2 Contributor
Muse Spark 1.2 Contributor is a pricing tier rather than a separate model. The weights, the context window of 1.0M tokens, and every capability match Muse Spark 1.2: multimodal input across text, images, video, audio, and PDFs, multi-agent operation as either a planning agent or a parallel subagent, structured output, parallel function calling, and configurable reasoning effort.
What differs is the commercial arrangement. Meta charges substantially less per token, and in exchange uses your inputs and outputs to train and improve its models. Meta has published no separate capability claim for this tier, because there is nothing different to claim.
Decide eligibility before you compare prices. Work that suits this tier is public, synthetic, permissively licensed, or explicitly approved for sharing. Client repositories, personal data, secrets, unreleased product logic, and material under NDA belong on the standard tier.
The scope is wider than the prompt you write. An agent can read terminal output, generated files, and neighbouring directories, so what reaches Meta may exceed what a developer consciously submits. Scope the working directory accordingly.
You can integrate Muse Spark 1.2 Contributor through AI SDK, Chat Completions API, Responses API, Messages API, or other API formats, from TypeScript or Python.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: Read the terms in your Meta developer account before routing traffic here. Public documentation on retention period, deletion process, and regional eligibility is thin, and the terms in your logged-in account take precedence over any summary, including this page.
- Configuration: An agent's reach is wider than its prompt. Terminal output, generated files, and neighbouring directories can all enter the context that gets shared, so a developer who intends to submit one file may submit considerably more. Scope the working directory before you point an agent at this tier.
- Configuration: The saving is real and large, which is exactly why the decision should not be made on price. Standard Muse Spark 1.2 exists for everything that fails the eligibility test, and mixing the two per task is a reasonable pattern: the model can be switched mid-session without losing context.
- Zero Data Retention: Zero Data Retention is offered on a per-provider and model basis. See the documentation for details.
- Authentication: AI Gateway authenticates requests using an API key or OIDC token. You do not need to manage provider credentials directly.
Copy link to headingWhen to Use Muse Spark 1.2 Contributor
Best for
- Public And Open Source Code: Sharing inputs carries no confidentiality risk
- Synthetic Data: Generated specifically for the workload
- High-Volume Experimentation: Where cost decides what is affordable to try
- Pre-Approved Projects: Cleared for data sharing in advance
Consider alternatives when
- Client Or Customer Code: Standard Muse Spark 1.2 is the correct tier
- Secrets And Personal Data: An agent may read files you did not intend to submit
- NDA Or Unreleased Work: The price difference does not change eligibility
- Undocumented Retention Needs: Public terms on retention and deletion are limited
Copy link to headingConclusion
Muse Spark 1.2 Contributor is Muse Spark 1.2 at a fraction of the price, paid for with your inputs and outputs rather than tokens. Point meta/muse-spark-1.2-contributor at AI Gateway only for work that is public, synthetic, or explicitly cleared, and keep everything else on the standard tier.
Copy link to headingFrequently Asked Questions
Is Muse Spark 1.2 Contributor a different model from Muse Spark 1.2?
No. Same weights, same capabilities, same context window of 1.0M tokens. Only the commercial and data-use arrangement differs.
What is the tradeoff for the lower price?
Meta uses your inputs and outputs to train and improve its models. That makes it an eligibility question about your data rather than a pricing question.
What work is appropriate for Muse Spark 1.2 Contributor?
Public, synthetic, permissively licensed, or explicitly approved material. Keep client repositories, personal data, secrets, unreleased product logic, and NDA material on the standard tier.
Could an agent share more than I intend?
Yes. An agent can read terminal output, generated files, and neighbouring directories, so context can include material a developer never consciously submitted. Scope the working directory before pointing an agent here.
Where are the exact retention and deletion terms?
In your Meta developer account, which takes precedence over any summary. Public documentation on retention period, deletion process, and regional eligibility is limited.
Can I use both tiers in one project?
Yes. The model can be switched mid-session without losing context, so routing eligible tasks here and everything else to standard Muse Spark 1.2 is a workable pattern.
Does Muse Spark 1.2 Contributor support Zero Data Retention?
Zero Data Retention is not currently available for this model. Zero Data Retention is offered on a per-provider basis and is a separate matter from this tier's training arrangement. See https://vercel.com/docs/ai-gateway/capabilities/zdr for details.