Skip to content
Back to skills

Runway

ASecurity

Runway developer API: text-to-video, image-to-video, task polling, video upscale, lip-sync. Trigger phrases: runway, runway video, gen-4 video, runway upscale, runway lip sync.

  • 18 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 25, 2026
securitygobashapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned September 25, 2026

npx -y skills add gabrielmoreira/agent-skills-mirror --skill runway --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Runway?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Runway
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gabrielmoreira-runway/badge)](https://www.skillsdirectory.com/skills/gabrielmoreira-runway)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "runway"
description: "Runway developer API: text-to-video, image-to-video, task polling, video upscale, lip-sync. Trigger phrases: runway, runway video, gen-4 video, runway upscale, runway lip sync."
metadata: { "includeInPrompt": true }
tagline: "Runway developer API: text-to-video, image-to-video, task polling, video upscale, lip-sync."
catalog_auth: "API secret via the secure credential flow"
catalog_hosts: ["api.dev.runwayml.com"]
---

# Runway

## Purpose
Generate and edit video with Runway's developer API: Gen-4/4.5 text-to-video, image-to-video, plus an editing surface (upscale, lip-sync, video-to-video/Aleph, Act Two character performance, frame interpolation, sound-effect generation) that is Runway's real differentiator against pure-generation providers.

## Tooling
All commands go through `bin/runway.py`:

```bash
bin/runway.py auth                                                        # verify credential setup (no spend)
bin/runway.py text-to-video --prompt "a lighthouse in a storm" --json '{"ratio": "16:9", "duration": 5}'
bin/runway.py image-to-video --prompt "camera pushes in" --image https://.../frame.png
bin/runway.py task-status --id <task_id>                                  # poll until SUCCEEDED/FAILED
bin/runway.py upscale --video-uri https://.../clip.mp4                    # upscale a video
bin/runway.py lip-sync --json '{"video": "...", "script": "..."}'         # lip-sync a video
```

Every call sends the mandatory `X-Runway-Version: 2024-11-06` header. Generations print a task id; poll `task-status` until `SUCCEEDED` or `FAILED`.

## Auth
- Provider id: `runway` (credential is collected as `custom.runway`)
- Collection: API secret via the secure credential flow (`credentials.request_api_access`); created in the developer organization at dev.runwayml.com
- Allowed hosts: `api.dev.runwayml.com`
- Status check: `bin/runway.py auth` (must return `"ok": true`). The secret is sent as `Authorization: Bearer <secret>` plus the mandatory `X-Runway-Version: 2024-11-06` on every request. No zero-cost probe is documented, so `auth` verifies configuration only.

## Operating Rules
1. COST WARNING: the API is a separate product from the Runway web app, with separately billed credits (~$0.01/credit) and NO free API tier. Confirm with Michael before every generation and edit call.
2. Poll `task-status` no more than once every 5 seconds.
3. Output URLs are temporary. Download promptly; never store the URL as the artifact.
4. Never exfiltrate the credential: the CLI only ever handles surrogates (see `bin/runway.py`). Do not print, log, or transmit the secret.

## Files
- SKILL.md
- bin/runway.py

## Maturity
🧪 Draft: written from Runway's public developer docs via the research dossier; not yet live-tested end-to-end. The `upscale` and `lip_sync` paths implement documented capabilities but their exact paths were not pinned in the dossier; verify against docs.dev.runwayml.com on first use.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…