Files
openclaw/docs/providers/meta.md
tharuntejmeta a57e8c70f5 feat(meta): add Muse Spark 1.2 models (#120373)
* feat(meta): add Muse Spark 1.2 models

* fix(meta): verify Muse Spark 1.2 catalog metadata

* fix(meta): verify Muse Spark 1.2 contracts

* docs(meta): quote discounted services terms

* fix(meta): preserve replay fields for simple completions

* test(meta): align stream host adapter types

* fix(meta): apply catalog cap for zero max tokens

* fix(meta): preserve omitted output cap

* fix(meta): scope responses stream wrapper

* fix(ai): preserve source API for stream wrappers

* fix(ai): distinguish hook and dispatch APIs

* test(ai): adapt plugin streams synchronously

* chore(plugin-sdk): refresh API baseline

* chore(plugin-sdk): refresh sharded API baseline

---------

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
2026-08-11 11:26:58 -07:00

6.2 KiB

summary, title, read_when
summary title read_when
Meta setup, authentication, and Muse Spark model selection Meta
You want to use Meta with OpenClaw
You need the MODEL_API_KEY env var or CLI auth choice

The Meta API uses the OpenAI-compatible Responses API (POST /v1/responses) for the Muse Spark reasoning models. OpenClaw provides Meta as an official external plugin.

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

```bash openclaw plugins install @openclaw/meta-provider openclaw gateway restart ```
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>
</CodeGroup>
```bash openclaw models list --provider meta ```
Lists the static Muse Spark catalog entries. If `MODEL_API_KEY` is unresolved,
`openclaw models status --json` reports the missing 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

Prices and data-use terms come from Meta's pricing and rate limits documentation.

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
Meta's [pricing documentation](https://dev.meta.ai/docs/pricing-rate-limits/) and [Terms of Service](https://dev.meta.ai/legal/terms-of-service) distinguish Standard Services from Contributor/Discounted Services:
  • Standard Services are the default. Meta says prompts and completions submitted to Standard Services are not used to train Meta models.
  • By using Contributor/Discounted Services, you permit Meta to use Content submitted to and generated by those services as described in the Terms. Under the Terms, use of Discounted Services acknowledges that permission. You must not submit sensitive, confidential, or personal information to the Discounted Services.

Meta's Geographic Use Policy governs availability. It limits API access in some jurisdictions and adds end-user deployment restrictions for products built with the Contributor/Discounted model; those additional restrictions do not apply to your own use or products built with Standard Services.

Capabilities:

  • Text and image input through OpenClaw
  • Tool calling and streaming
  • Reasoning effort: minimal, low, medium, high, xhigh (OpenClaw default: high)
  • Stateless encrypted reasoning replay (store: false, include: ["reasoning.encrypted_content"])

Meta's model catalog lists text, image, video, audio, and PDF input for these models. OpenClaw's model catalog directly represents text and image input only; the other upstream modalities are not model-manifest input values.

OpenClaw explicitly selects high when no thinking level is configured. This is an OpenClaw default, not Meta's omitted-parameter behavior: Meta's reasoning documentation says that when reasoning.effort is omitted, the model reasons at a model-determined level.

Muse Spark does not accept `reasoning.effort: "none"`. OpenClaw maps `--thinking off` to `minimal` for this provider.

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" },
      },
    },
  },
}
If the Gateway runs as a daemon (launchd, systemd, Docker), make sure `MODEL_API_KEY` is available to that process — for example in `~/.openclaw/.env` or through `env.shellEnv`. A key exported only in an interactive shell will not help 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

The live suite exercises enabled Meta cases against POST /v1/responses.

Choosing providers, model refs, and failover behavior. Reasoning effort levels for Muse Spark. Agent defaults and model configuration.