Meta Provider Setup and Muse Spark Model Configuration
Learn how to configure the Meta provider in OpenClaw, including authentication and model selection. This guide is for developers integrating Muse Spark reasoning models via the Responses API.
Read this when
- You want to use Meta with OpenClaw
- You need the MODEL_API_KEY env var or CLI auth choice
The Meta API relies on the OpenAI-compatible Responses API (POST /v1/responses) to serve the Muse Spark reasoning models. As an official external plugin, OpenClaw ships with Meta support built in.
| Property | Value |
|---|---|
| Provider id | meta |
| Plugin | @openclaw/meta-provider |
| Auth env var | MODEL_API_KEY |
| Onboarding flag | --auth-choice meta-api-key |
| Direct CLI flag | --meta-api-key <key> |
| API | Responses API (openai-responses) |
| Base URL | https://api.meta.ai/v1 |
| Default model | meta/muse-spark-1.1 |
| OpenClaw reasoning default | high (reasoning.effort) |
Getting started
Install the plugin
openclaw plugins install @openclaw/meta-provider
openclaw gateway restart
Set the API key
openclaw onboard --auth-choice meta-api-key
openclaw onboard --non-interactive --accept-risk --skip-health \
--auth-choice meta-api-key \
--meta-api-key "$MODEL_API_KEY"
export MODEL_API_KEY=<key>
Verify models are available
openclaw models list --provider meta
The static Muse Spark catalog entries are enumerated here. When MODEL_API_KEY cannot be resolved, openclaw models status --json flags the absent credential under auth.unusableProfiles.
Non-interactive setup
openclaw onboard --non-interactive --accept-risk --skip-health \
--mode local \
--auth-choice meta-api-key \
--meta-api-key "$MODEL_API_KEY"
Built-in catalog
Pricing and data-usage details come from Meta's pricing and rate limits page.
| Model ref | Name | OpenClaw input | Reasoning | Context window | Input / cached input / output per 1M tokens |
|---|---|---|---|---|---|
meta/muse-spark-1.1 | Muse Spark 1.1 | text, image | yes | 1,048,576 | $1.25 / $0.15 / $4.25 |
meta/muse-spark-1.2 | Muse Spark 1.2 | text, image | yes | 1,048,576 | $1.25 / $0.15 / $4.25 |
meta/muse-spark-1.2-contributor | Muse Spark 1.2 Contributor | text, image | yes | 1,048,576 | $0.10 / $0.002 / $0.20 |
Warning
Meta's pricing documentation and Terms of Service draw a line between Standard Services and Contributor/Discounted Services:
- Standard Services apply by default. According to Meta, prompts and completions sent to Standard Services are not used for training Meta models.
- Choosing Contributor/Discounted Services grants Meta permission to use Content submitted to and generated by those services, as spelled out in the Terms. Under those Terms, using Discounted Services counts as acknowledging that permission. Sensitive, confidential, or personal information must not be sent to the Discounted Services.
Availability is governed by Meta's Geographic Use Policy. API access is restricted in certain jurisdictions, and products built with the Contributor/Discounted model face extra end-user deployment constraints; those added constraints do not apply to your own usage or to products built with Standard Services.
Capabilities:
- OpenClaw accepts text and image input
- Tool calling and streaming are supported
- Reasoning effort:
minimal,low,medium,high,xhigh(OpenClaw default:high) - Stateless encrypted reasoning replay (
store: false,include: ["reasoning.encrypted_content"])
Meta's model catalog shows text, image, video, audio, and PDF input for these models. OpenClaw's catalog only represents text and image input directly; the other upstream modalities do not appear as model-manifest input values.
When no thinking level is configured, OpenClaw explicitly picks high. That choice is an OpenClaw default, not Meta's behavior when a parameter is absent: Meta's reasoning documentation states that omitting reasoning.effort lets the model reason at a level it determines itself.
Warning
Muse Spark rejects
reasoning.effort: "none". For this provider, OpenClaw translates--thinking offintominimal.
Manual config
{
env: { vars: { MODEL_API_KEY: "<key>" } },
agents: {
defaults: {
model: { primary: "meta/muse-spark-1.1" },
models: {
"meta/muse-spark-1.1": { alias: "Muse Spark 1.1" },
},
},
},
}
Note
When the Gateway runs as a daemon (launchd, systemd, Docker), confirm that
MODEL_API_KEYis reachable by that process, for instance via~/.openclaw/.envor throughenv.shellEnv. A key exported only in an interactive shell will not assist a managed service unless the env is imported separately.
Smoke test
export MODEL_API_KEY=<key>
pnpm test:live -- extensions/meta/meta.live.test.ts
Enabled Meta cases from the live suite are exercised against POST /v1/responses.
Related
-
Model providers, How to pick providers, model refs, and failover behavior.
-
Thinking modes, Reasoning effort levels for Muse Spark.
-
Configuration reference, Agent defaults and model configuration.