Plateforme Runway Dev
Workflow durable pour intégrer les produits Runway Dev dans une application. MCP fournit l'état du compte en temps réel, le SDK est le chemin d'intégration applicatif, et llms.txt pointe vers les guides de configuration actuels et les références API.
Quand l'utiliser : Construction, modification, débogage ou vérification d'une intégration Runway, incluant les travaux commencés depuis le Dev Portal.
À ne pas utiliser pour : génération de média ponctuelle depuis l'agent ou actions CLI REST directes.
Avant de commencer
- Connectez Dev MCP si les outils manquent. Serveur :
https://dev.runwayml.com/mcp. OAuth via compte développeur Runway — ne mettez jamais de clé API dans la config MCP. Terminez la connexion dans le navigateur de l'utilisateur ; n'automatisez pas OAuth. Docs : https://docs.dev.runwayml.com/guides/mcp - Récupérez https://docs.dev.runwayml.com/llms.txt et suivez les docs liées — n'inventez pas d'endpoints ou de noms de champs.
- Inspectez l'espace de travail. Projet existant → trouvez sa limite backend et son point d'intégration orienté utilisateur ; demandez où connecter Runway si ce n'est pas clair. Projet vide → demandez ce qu'il faut construire ; proposez une petite app web avec des entrées visibles et une sortie.
- Utilisez le SDK officiel. Installez
@runwayml/sdkpour Node ourunwaymlpour Python si le projet ne l'a pas déjà.
Contexte MCP
whoami— vérifiez l'identité.list_projects— choisissez un projet ; ne devinez jamais unprojectId.- Pour la génération :
list_modelsavec l'endpoint cible. Respectez lesinputConstraintsde chaque modèle ; ne réutilisez pas les valeurs d'un autre modèle. get_credit_balanceavant un test facturable.
Clé API (SDK uniquement)
MCP utilise OAuth. Les appels SDK de génération utilisent RUNWAYML_API_SECRET en env côté serveur ou dotenv — jamais côté client, jamais en chat, jamais en dur. Demandez à l'utilisateur de l'ajouter quand l'appel SDK est imminent.
Requêtes SDK
- Construisez une requête SDK valide à partir des docs API liées par
llms.txtet les contraintes MCPlist_models. - Chaînez le helper d'attente directement depuis l'appel de création :
await client.<operation>.create({...}).waitForTaskOutput()en Node ouclient.<operation>.create(...).wait_for_task_output()en Python. N'attendez pascreate()avant d'appeler le helper. - Capturez la
TaskFailedErrordu SDK et affichez ses détails de tâche. Soumettez une seule fois ; n'ajoutez pas de boucle de polling manuel ou de renvoi automatique. - Utilisez MCP
get_taskuniquement pour inspecter ou déboguer une tâche existante en dehors du flux SDK de l'application. - Connectez la sortie réussie à l'interface utilisateur ou au consommateur destiné de l'application. Persistez les sorties si l'app en a besoin après l'expiration des URLs signées (~24–48h).
Terminologie
| Interface / quickstart | MCP / API |
|---|---|
| Characters | avatars (list_avatars, get_avatar) |
| Character ID | UUID avatar |
| ID de config Model Router | slug immuable (configId) |
| Session en direct | POST /v1/realtime_sessions |
Erreurs
- Erreur de validation → affichez le message, corrigez le champ à partir des contraintes MCP ou des docs, réessayez une fois.
- Auth/permission → arrêtez ; demandez à l'utilisateur de s'authentifier ou choisir un projet accessible.
- Rate limit → respectez l'intervalle de retry.
- Tâche
FAILED→ signalez les détails de l'échec ; ne renvoyez pas automatiquement. - Outil MCP manquant → n'inventez pas de fallbacks REST pour la gestion de compte.
Compétences de surface
| Compétence | Quand |
|---|---|
+runway-dev-models |
Intégration de génération de modèle |
+runway-dev-model-routers |
Setup Model Router et appels routés |
+runway-dev-characters |
Characters / sessions realtime |
+runway-dev-recipes |
Pipelines Recipe |
+runway-dev-workflows |
Workflows app Runway → endpoints API |
Utilisez +runway-dev avec la compétence de surface appropriée ou les compétences quand toutes deux sont installées. Les compétences de surface répètent leur setup minimal pour rester utiles quand installées seules. Généralement une surface correspond à l'objectif de l'utilisateur ; chargez-en plus quand la tâche traverse les surfaces.