mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-16 23:52:40 -06:00
a57e8c70f5
* 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>
174 lines
6.2 KiB
Markdown
174 lines
6.2 KiB
Markdown
---
|
|
summary: "Meta setup, authentication, and Muse Spark model selection"
|
|
title: "Meta"
|
|
read_when:
|
|
- 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
|
|
|
|
<Steps>
|
|
<Step title="Install the plugin">
|
|
```bash
|
|
openclaw plugins install @openclaw/meta-provider
|
|
openclaw gateway restart
|
|
```
|
|
</Step>
|
|
<Step title="Set the API key">
|
|
<CodeGroup>
|
|
|
|
```bash Onboarding
|
|
openclaw onboard --auth-choice meta-api-key
|
|
```
|
|
|
|
```bash Direct flag
|
|
openclaw onboard --non-interactive --accept-risk --skip-health \
|
|
--auth-choice meta-api-key \
|
|
--meta-api-key "$MODEL_API_KEY"
|
|
```
|
|
|
|
```bash Env only
|
|
export MODEL_API_KEY=<key>
|
|
```
|
|
|
|
</CodeGroup>
|
|
|
|
</Step>
|
|
<Step title="Verify models are available">
|
|
```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`.
|
|
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Non-interactive setup
|
|
|
|
```bash
|
|
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](https://dev.meta.ai/docs/pricing-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 |
|
|
|
|
<Warning>
|
|
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](https://dev.meta.ai/legal/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.
|
|
</Warning>
|
|
|
|
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](https://dev.meta.ai/docs/models) 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](https://dev.meta.ai/docs/reasoning/) says that when
|
|
`reasoning.effort` is omitted, the model reasons at a model-determined level.
|
|
|
|
<Warning>
|
|
Muse Spark does not accept `reasoning.effort: "none"`. OpenClaw maps
|
|
`--thinking off` to `minimal` for this provider.
|
|
</Warning>
|
|
|
|
## Manual config
|
|
|
|
```json5
|
|
{
|
|
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>
|
|
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.
|
|
</Note>
|
|
|
|
## Smoke test
|
|
|
|
```bash
|
|
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`.
|
|
|
|
## Related
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Model providers" href="/concepts/model-providers" icon="layers">
|
|
Choosing providers, model refs, and failover behavior.
|
|
</Card>
|
|
<Card title="Thinking modes" href="/tools/thinking" icon="brain">
|
|
Reasoning effort levels for Muse Spark.
|
|
</Card>
|
|
<Card title="Configuration reference" href="/gateway/config-agents#agent-defaults" icon="gear">
|
|
Agent defaults and model configuration.
|
|
</Card>
|
|
</CardGroup>
|