Meta · Muse Spark 1.2 · Contributor tier

Get started с muse-spark-1.2-contributor

Та же модель за $0.10 / $0.20 вместо $1.25 / $4.25 — в обмен на право Meta учиться на твоих prompts. Два пути: terminal-агент Muse Code и OpenCode.

Главное, что экономит час чтения docs: Contributor tier — это не account-toggle, не флаг и не отдельный endpoint. Это другой model id. Пишешь muse-spark-1.2-contributor вместо muse-spark-1.2 — платишь в 12–21 раз меньше.

Checkpoint тот же самый, context тот же (1 048 576 tokens), возможности те же. Меняются три вещи: цена, rate limit (100 RPM вместо 3000) и то, что Meta забирает твои prompts и completions на training — без возможности изъять их обратно.

Анонс Muse Code и Muse Spark 1.2 на research.meta.ai
Канонический анонс — research.meta.ai, 5 августа 2026. На ai.meta.com/blog поста про 1.2 нет, там только 1.1.

1 Три названия, которые путают

Muse Spark 1.2Сама модель. Closed-weights, весов нигде нет и не будет — только через API. Input: text, image, video, PDF.
Muse CodeTerminal-агент Meta (beta), вышел 5 августа 2026, co-trained с моделью. Binary называется muse.
Contributor tierModel id muse-spark-1.2-contributor. В юридических документах Meta он называется иначе — Discounted Model.

Muse Code и OpenCode — два независимых harness поверх одной модели. Ставить оба не нужно, выбирай один.

Таблица model id на dev.meta.ai/docs/models
Все три id и их tier — dev.meta.ai/docs/models

2 Цены и rate limits

Официальные цифры с dev.meta.ai/docs/pricing-rate-limits, за 1M tokens:

Standard
muse-spark-1.2
Contributor
…-contributor
Разница
Input$1.25$0.1012.5×
Cached input$0.15$0.00275×
Output$4.25$0.2021×
Rate limit3 000 RPM
4 000 000 TPM
100 RPM
3 000 000 TPM
в 30× меньше запросов
Обучение на твоих данныхНетДа

Квоты считаются на team, не на API key — все ключи команды делят один пул. Web search grounding тарифицируется сверх токенов: $2.50 за 1000 запросов. Long-context премии нет — цена не растёт при заполнении контекста. Steering-контекст, который Meta подмешивает в каждый prompt, не тарифицируется и не попадает в usage.

Contributor tier pricing на официальной странице Meta
Contributor tier в первоисточнике — формулировка «в обмен на разрешение использовать твои prompts и completions»
Таблица rate limits: Standard 3000 RPM, Contributor 100 RPM
100 RPM — реальное ограничение для agentic-цикла

цифры двигались  Пресса на релизе писала 60 RPM / 2 100 000 TPM. На официальной странице сегодня 100 RPM / 3 000 000 TPM. Отдельный лимит для background-запросов — 600 в минуту на team. Суточных и месячных потолков в docs нет, только поминутные окна. Пейсься по заголовкам x-ratelimit-remaining-requests и x-ratelimit-remaining-tokens, при превышении — HTTP 429.

3 Доступ и API key

Waitlist'а нет, вручную никто не отсматривает. Нужны: возраст 18+, поддерживаемая страна и привязанный способ оплаты — без него запросы не пойдут, и добавить его может только team admin.

  1. Регистрация на dev.meta.ai — login через auth.meta.com. Аккаунт и team создаются сразу.
  2. Платёжный метод в разделе /billing. Списание — по нарастающему порогу либо 1-го числа месяца.
  3. Вкладка API keys → Create API key → имя → Create.
  4. Скопировать сразу: «You only see it once». Формат ключа — LLM|607358788850350|nx9.....LJY.

ловушка №1  Три разных имени переменной окружения для одного и того же ключа. Перепутаешь — получишь пустой список моделей и будешь искать несуществующую проблему:

ГдеПеременная
Muse Code CLIMETA_API_KEY
Meta Model API, SDK, curl, CodexMODEL_API_KEY
OpenCode / models.devMETA_MODEL_API_KEY

Base URL: https://api.meta.ai/v1. Клиенты на Anthropic-протоколе (Claude Code) берут https://api.meta.ai без /v1. Поддерживаются три протокола: Responses, Chat Completions, Anthropic Messages.

4 Путь A — Muse Code CLI

4.1 Install

Единственный документированный способ. macOS и Linux, из зависимостей только curl и mktemp — binary статический, ни Node, ни Python не нужны:

curl -fsSL https://dev.meta.ai/install.sh | sh
muse --version

Ставится в ~/.local/bin/muse, PATH дописывается в ~/.zshrc, ~/.bashrc, ~/.profile и ~/.config/fish/conf.d/muse.fish. Если не хочешь, чтобы скрипт трогал dotfiles:

curl -fsSL https://dev.meta.ai/install.sh -o install.sh
less install.sh                                   # сначала прочитать
MUSE_NO_MODIFY_PATH=1 MUSE_INSTALL_DIR="$HOME/bin" sh install.sh

npm-пакета, Homebrew formula и публичного репозитория нет. Всё, что лежит на GitHub под именем muse-spark, — сторонние обёртки, не Meta. Docs дают | sh, marketing-страница | bash; сам скрипт имеет shebang #!/usr/bin/env bash, работают оба варианта.

Страница установки Muse Code
dev.meta.ai/docs/muse-code — install и первый запуск

4.2 Первый запуск и auth

Запусти muse внутри репозитория. Он спросит trust на workspace, затем предложит browser sign-in или вставку API key:

cd ~/projects/my-app
muse
muse auth setСохранить API key на диск.
/loginПерелогиниться из активной session.
muse logoutСтирает и browser session, и сохранённый key. Экспортированную переменную окружения не трогает.

Приоритет: env var → сохранённый key → browser session. У Meta Managed Account browser sign-in недоступен, только API key.

Страница авторизации Muse Code
dev.meta.ai/docs/muse-code/auth

4.3 Headless-режим для CI

export META_API_KEY="LLM|...."
muse exec --json "Run the test suite and summarize failures."

Exit codes: 0 — готово, 1 — упало или отменено, 2 — ошибка в аргументах, 130/143 — SIGINT/SIGTERM.

4.4 Как включить contributor tier в CLI

По умолчанию Muse Code берёт muse-spark-1.2, то есть Standard. Дешёвый tier сам не включится.

muse --model muse-spark-1.2-contributor      # на один запуск
# либо /models прямо в session

не подтверждено  Флаг --model и команда /models документированы официально, id muse-spark-1.2-contributor — тоже. Но их комбинация в docs нигде не показана: слово «contributor» не встречается ни на одной странице раздела Muse Code, и источники противоречат друг другу — часть утверждает, что tier определяется аккаунтом, а не запросом. Проверь на своей установке через muse --help и /models прежде чем рассчитывать на цену.

4.5 Что есть внутри session

/planПревращает задачу в план с approval gate.
/grillСтресс-тест плана до выполнения. В части сборок называется /grilling — сверься с /help.
/goalРаботать до достижения цели. Есть pause, resume, clear.
/loopПовтор по интервалу или cron: /loop 10m /run-tests.
/agentSubagents: spawn, status, interrupt, resume.
/compact, /recapУправление контекстом.
/resume, /forkВернуться в прошлую session или разветвить текущую.
/effortReasoning effort: minimal … xhigh (default), ultra. Значение none не поддерживается — HTTP 400.

Клавиши: Enter — вклиниться в идущий turn, Alt+Enter — поставить в очередь, Esc — прервать. Настройки живут в ~/.config/muse/settings.json и требуют ключа "schema_version": 1 — без него CLI падает с malformed settings file. Инструкции проекта — AGENTS.md, генерируется через muse init. Весь ход session пишется в локальный append-only event log, поэтому агент переживает crash и продолжает ровно с места остановки.

Список slash commands Muse Code
dev.meta.ai/docs/muse-code/interactive — актуальный список /help покажет для твоей сборки

5 Путь B — OpenCode

хорошая новость  Конфигурировать ничего не нужно. meta — built-in provider в OpenCode, все три модели уже в models.dev, а команда Meta прислала в OpenCode отдельный system prompt под muse-spark. Достаточно ключа.

5.1 Короткий путь

export META_MODEL_API_KEY="LLM|...."
opencode models | grep '^meta/'
opencode 1.18.14
$ META_MODEL_API_KEY=… opencode models | grep '^meta/'
meta/muse-spark-1.1
meta/muse-spark-1.2
meta/muse-spark-1.2-contributor
Реальный вывод, проверенный на этой машине — модели видны сразу после установки переменной. С MODEL_API_KEY вместо META_MODEL_API_KEY список пустой.

Дальше /models в TUI и выбрать meta/muse-spark-1.2-contributor. Либо opencode auth login → Meta: ключ ляжет в ~/.local/share/opencode/auth.json, переменная тогда не нужна. Путь «Other» из /connect для Muse Spark не нужен — provider встроенный.

5.2 Если нужен явный config

Файл ~/.config/opencode/opencode.json (глобально) или ./opencode.json (в проекте, приоритет выше). Переопределяем встроенный id meta, а не заводим новый — иначе потеряешь metadata и цены из models.dev:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "meta/muse-spark-1.2-contributor",
  "provider": {
    "meta": {
      "name": "Meta Model API",
      "npm": "@ai-sdk/openai",
      "options": {
        "baseURL": "https://api.meta.ai/v1",
        "apiKey": "{env:META_MODEL_API_KEY}"
      },
      "models": {
        "muse-spark-1.2-contributor": {
          "name": "Muse Spark 1.2 Contributor",
          "reasoning": true,
          "limit": { "context": 1048576, "output": 131072 },
          "options": {
            "reasoningEffort": "high",
            "reasoningSummary": "auto",
            "include": ["reasoning.encrypted_content"]
          }
        }
      }
    }
  }
}

Почему @ai-sdk/openai, а не @ai-sdk/openai-compatible: первый ходит в Responses API, второй — в Chat Completions. Meta прямо называет первый «the recommended adapter», и это же значение стоит в models.dev. Строка include: ["reasoning.encrypted_content"] выглядит как магия, но именно она переносит reasoning модели между turns — без неё смысл Responses API теряется. Число 131072 для output — из собственного примера Meta; официального максимума output-токенов Meta не публикует.

Meta советует хранить ключ через /connect, а не строкой apiKey в конфиге — тогда поле можно просто убрать.

Страница Meta про настройку сторонних coding agents
dev.meta.ai/docs/coding-agents — официальная настройка OpenCode, Codex и Claude Code на api.meta.ai
Схема provider-конфига в docs OpenCode
opencode.ai/docs/providers — схема, по которой построен конфиг выше

5.3 Грабли

Chat Completions теряет reasoningНа @ai-sdk/openai-compatible reasoning не переносится между turns — каждый ход модель думает с нуля. В agentic-цикле это выглядит как повтор уже сделанной работы, противоречия с собственными прошлыми шагами и потеря контекста задачи. Прямая формулировка из docs Meta.
reasoningEffort может не доезжатьОткрытый issue #41294 от 8 августа 2026 — ровно на muse-spark-1.2-contributor: параметр вырезается из request body, замеры reasoning tokens на minimal и xhigh практически совпадают. В 1.18.x похоже починено, но issue открыт.
Деградация tool-callingМодель co-trained со своим harness. Сообщения о худшем поведении в сторонних scaffolds есть, но это анекдоты, а не бенчмарк.
PDF не проходятНа Chat Completions доезжают только картинки; video — исключительно через Responses API.
Нужен полный restartПосле правки provider-конфига OpenCode надо перезапустить целиком.
model_not_foundЛибо опечатка в model id, либо trailing slash в baseURL.

6 Условия сделки — прочитай до того, как включишь

В юридических документах Meta contributor называется Discounted Services. Формулировки жёстче, чем маркетинговое «в обмен на разрешение»:

«You must not submit sensitive, confidential, or personal information to the Discounted Services. If you intend, or are required (including by contract), to keep information such as software code confidential, you must not submit that information to the Discounted Services. … the Discounted Services do not offer a mechanism to exclude specific traffic from training.»
— Terms of Service §6.2

география  Geographic Use Policy §4 запрещает делать продукты, построенные на Discounted Services, доступными конечным пользователям в Австралии, Бразилии, Канаде, European Region, Республике Корея и Великобритании.

Важный нюанс, который пресса переврала: «These restrictions apply solely to Integrated Products created using Discounted Services. They do not apply to your own use of the Services.» То есть это ограничение на твоих пользователей, а не на твой личный доступ. Отдельно есть список Restricted Territories, где недоступны вообще все tier.

если нужен zero retention  На Standard есть ZDR, но включает его только Meta для квалифицированных организаций через sales — переключателя в UI нет. Под ZDR отключаются stateful-запросы, background-режим, file uploads, web search и история Playground; данные, помеченные как нарушение AUP, всё равно хранятся до 2 лет. Через сторонние gateway ZDR не действует.

7 Через gateway и что по бенчмаркам

Vercel AI Gatewayесть meta/muse-spark-1.2-contributor по той же цене $0.10/$0.20/$0.002. Но retention-политика gateway накладывается поверх прав Meta на training.
OpenRouterнет Только meta/muse-spark-1.2 и 1.1 по Standard-цене. Contributor-варианта в каталоге нет.
Hugging FaceВесов нет и не появится — модель closed-weights, ToS запрещает попытки извлечь веса.
Страница muse-spark-1.2-contributor в Vercel AI Gateway
Vercel AI Gateway — единственный из проверенных gateway, где contributor доступен

бенчмарки  Meta выложила графики (Terminal-Bench 2.1, DeepSWE 1.1, внутренний coding bench), но числа есть только на картинках — в тексте страницы и в methodology-PDF ни одной цифры. SWE-bench Meta не мерила вообще. Каждая модель в её сравнении гонялась в своём собственном агенте, то есть это счёт системы «модель + harness», а не модели.

Независимая оценка Artificial Analysis: Intelligence Index 54 на xhigh (1.1 было 51), Terminal-Bench v2.1 80%. Это ниже Claude Opus 5 (61) и Fable 5 (60), примерно вровень с GPT-5.5 xhigh. Ожидай, что в универсальном scaffold будет хуже, чем в Muse Code.

8 Ссылки

Официальные docs Meta — канонический хост dev.meta.ai/docs

OpenCode и каталоги

Разбор со стороны

Минимальный путь:

# A. Muse Code
curl -fsSL https://dev.meta.ai/install.sh | sh
cd ~/projects/my-app && muse                 # trust + sign-in
muse --model muse-spark-1.2-contributor      # сверь с /models

# B. OpenCode
export META_MODEL_API_KEY="LLM|...."
opencode                                     # /models → meta/muse-spark-1.2-contributor