Clave API de Muse Code: cómo crearla, usarla en CI y cuánto cuesta
Muse Code admite inicio de sesión en el navegador o con clave API, y esa misma clave te abre la Model API de Meta. Cómo crear la clave, qué variable de entorno espera cada herramienta (META_API_KEY o MODEL_API_KEY), URL base, precio por token, límites de uso y los errores que acaban en facturas inesperadas.
Una clave, dos usos
Una clave de la Meta Model API sirve para dos cosas. Por un lado, permite iniciar sesión en Muse Code, el agente de programación para terminal de Meta, sin pasar por el navegador; es lo habitual en CI, servidores y scripts. Por otro, sirve para llamar directamente a la Meta Model API, con los mismos modelos que usa Muse Code, desde tu propio código o desde otros agentes de programación.
Cada uso lee la clave de una variable de entorno distinta, y ahí es donde mucha gente tropieza:
| Si usas… | Variable | Notas |
|---|---|---|
La CLI de Muse Code (muse, muse exec) |
META_API_KEY |
O guárdala una sola vez con muse auth set |
| La Model API desde tu código, OpenCode o Codex | MODEL_API_KEY |
Es el nombre que usan los ejemplos de Meta; los SDK no la leen solos, así que pásala de forma explícita |
| Claude Code con modelos de Meta | ANTHROPIC_AUTH_TOKEN |
Ponle como valor tu clave de la Model API |
Crear la clave
- Entra en el panel de la Meta Model API, en dev.meta.ai, con tu cuenta de desarrollador de Meta.
- Abre la pestaña API keys y pulsa Create API key.
- Ponle un nombre que diga dónde va a vivir (
ci-github-actionses mucho mejor quekey1) y pulsa Create. - Cópiala en ese momento. Meta solo la muestra una vez.
Las claves empiezan por LLM_, seguidas de un ID numérico y el secreto. Si tu cuenta se creó mediante el registro Business & Enterprise de Meta, no tienes disponible el inicio de sesión en el navegador, así que la clave API es la única forma de usar Muse Code: pídele a un administrador del equipo que te cree una.
Usarla con Muse Code
En tu propia máquina puedes guardar la clave una vez:
muse auth set
En cualquier otro sitio, y sobre todo en CI, inyéctala desde tu gestor de secretos como META_API_KEY:
META_API_KEY="$MUSE_KEY" muse exec --json "fix the failing test in tests/date.test.ts"
Muse Code busca las credenciales siempre en el mismo orden: primero META_API_KEY, después una clave guardada y por último una sesión de navegador guardada. Si una clave de entorno está tapando la sesión de navegador que querías usar, Muse Code te avisa. /login vuelve a abrir las opciones de inicio de sesión dentro de una sesión, y muse logout borra la sesión y la clave guardadas, pero no un META_API_KEY que hayas exportado en tu shell; ese tienes que quitarlo tú.
Hay dos detalles de CI que conviene tener claros. muse exec sale con código 0 cuando termina el turno, lo cual no significa que el trabajo esté bien hecho, así que condiciona los merges a tus propios tests. Y en runners Linux el sandbox necesita bubblewrap y una build que no sea musl: en imágenes basadas en Alpine no se ejecutan comandos de shell. En nuestra guía rápida de comandos de la CLI están el resto de flags de muse exec.
Cuánto cuesta una clave API en Muse Code
La clave funciona en modo pago por uso: cada token se cobra a precio de la Model API, aparte de cualquier plan mensual. La documentación de suscripciones de Meta indica que el uso mediante claves API adicionales se factura así aunque también tengas suscripción, de modo que una clave en tu CI no consume la asignación de tu plan. Los cargos se hacen cuando el saldo llega a un umbral de pago y el día 1 de cada mes por lo que quede pendiente; el panel Usage muestra en qué se han ido los tokens, y Pay now, en la página Billing, te permite pagar antes.
Hay dos cosas que una clave no te da: no tiene acceso a Muse Wonder Full, que solo está en los planes Power y Maximum, y no incluye la asignación por peticiones de los planes.
Precio por modelo
Por 1M de tokens, según la página de precios de Meta a 25 de octubre de 2026:
| Modelo | Entrada | Entrada en caché | Salida |
|---|---|---|---|
muse-wonder-1.0 |
$4.00 | $0.20 | $20.00 |
muse-spark-1.3 |
$1.25 | $0.15 | $4.25 |
muse-spark-1.3-contributor |
$0.10 | $0.002 | $0.20 |
El modelo Contributor es el mismo Muse Spark 1.3 por una fracción del precio, porque Meta puede usar los datos para entrenar futuros modelos. Muse Wonder no tiene versión Contributor. Muse Image cuesta 0,01 $ por imagen, y el grounding con búsqueda web suma 2,50 $ por cada 1.000 búsquedas. Nuestro estimador convierte volúmenes de tokens en una factura mensual, y Contributor frente a Standard explica la parte de privacidad de esa elección.
Límites de uso
Los límites se aplican por equipo, no por clave, así que crear más claves no te da más capacidad:
| Modelo | Peticiones / minuto | Tokens / minuto |
|---|---|---|
muse-wonder-1.0 |
3,000 | 4,000,000 |
muse-spark-1.3 |
3,000 | 4,000,000 |
muse-spark-1.3-contributor |
150 | 3,000,000 |
Ojo con las 150 peticiones por minuto del modelo Contributor si vas a lanzar muchos agentes en paralelo sobre él.
Llamar directamente a la Model API
La API habla los formatos que ya usan otras herramientas. Para clientes al estilo OpenAI, la URL base es https://api.meta.ai/v1; para clientes al estilo Anthropic es https://api.meta.ai, sin /v1. Una primera petición:
curl https://api.meta.ai/v1/chat/completions \
-H "Authorization: Bearer $MODEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "muse-spark-1.3", "messages": [{"role": "user", "content": "Hello"}]}'
La misma clave funciona en OpenCode, Codex y Claude Code con las configuraciones de nuestra documentación. Si las llamadas empiezan a fallar, https://api.meta.ai/v1/status informa del estado de la API y de la disponibilidad de cada modelo sin necesidad de clave.
Protege la clave
- Guárdala en el gestor de secretos de tu CI o en un gestor de contraseñas, nunca en el repositorio ni en
AGENTS.md. - Usa una clave por cada sitio donde viva, para poder revocar una clave de CI filtrada sin dejar sin acceso a tu propio equipo.
- Pásala como variable de entorno solo al comando que la necesita, como en el ejemplo de
muse execde arriba, en lugar de exportarla en un perfil de shell compartido. - Si se filtra, bórrala en el panel y crea otra: alguien podría generarte una buena factura.