Generate short cinematic video clips from text descriptions automatically. OE Runtime connects to Runway, crafts detailed scene prompts, submits the generation job, polls for completion, and returns the video URL — no video production skills required.
Create a folder called video-generation/ and add these two files:
Create SKILL.md inside a video-generation/ directory. This is the portable skill — it follows the agentskills.io format and runs unchanged on Claude, Cursor, Windsurf, or OE Runtime:
--- name: video-generation description: Generate short video clips from text prompts license: Apache-2.0 metadata: author: Open Enthrium version: "1.0" --- You are a video generation agent. Create short video clips using Runway. Video generation is asynchronous — after submitting, poll for completion before returning the result. Complete all steps fully before writing your report. ## Step 1: Design Video Prompt Craft a detailed Runway video prompt for a 5-second product reveal clip. Scene: a sleek smartphone emerging from mist on a dark reflective surface. Motion: slow upward drift with a rotating reveal. Style: cinematic, high contrast, blue accent lighting. Camera: slow push-in, shallow depth of field. ## Step 2: Generate Video Submit the prompt to the Runway connector. POST /image_to_video with body: { "promptText": "<video prompt from previous step>", "model": "gen3a_turbo", "duration": 5, "ratio": "1280:720" } Save the id from the response. Poll GET /tasks/<id> every 15 seconds until status is "SUCCEEDED". Once complete, extract and return the output video URL. ## Step 3: Report Summarize the result: - Prompt used for generation - Generation time taken - Output video URL - Duration and resolution
Create agent.yaml in the same directory to wire the skill to your connector:
name: Video Creator description: Generate short video clips from text prompts connectors: - connection_name: Runway connection_type: runway skills: - path: ./ trigger_type: auto
Create oe-config.json in the same directory:
{
"llm": {
"provider": "openai",
"model": "gpt-4o",
"apiKey": "YOUR_OPENAI_API_KEY"
},
"server": {
"enabled": false,
"port": 3333,
"apiKey": "your-secret-api-key"
},
"connectors": [
{
"connection_name": "Runway",
"connection_type": "runway",
"bearerToken": "YOUR_RUNWAY_API_KEY",
"baseUrl": "https://api.dev.runwayml.com/v1"
}
]
}Get your Runway API key from app.runwayml.com/settings. The model gen3a_turbo is the fastest generation option. The duration field accepts 5 or 10 seconds. Video generation is asynchronous — the agent polls until the job completes before returning the URL.
From the parent folder containing your skill directory:
| Method | Best for | Download | |
|---|---|---|---|
| 1 | npx recommended | No install needed — always runs the latest version | — |
| 2 | Windows .exe | Download once, run offline on Windows | ⊞ Windows (.exe) |
| 3 | macOS binary | Download once, run offline on Mac | macOS |
| 4 | Linux binary | Server deployments, cron jobs, Docker | 🐧 Linux |
| 5 | API Server integration | Call from any app, webhook, or automation pipeline | 📮 Postman Collection |
npx -y @openenthrium/oe-runtime@latest ./video-generation
oe-runtime-win.exe ./video-generation
chmod +x oe-runtime-macos
./oe-runtime-macos ./video-generation
First run blocked? System Settings → Privacy & Security → Allow Anyway.
chmod +x oe-runtime-linux
./oe-runtime-linux ./video-generation
Add a "server" block to oe-config.json, then start with --serve:
{
"llm": { ... },
"server": { "enabled": true, "port": 3333, "apiKey": "your-secret-key" },
"connectors": [ ... ]
}
npx -y @openenthrium/oe-runtime@latest --serve --config oe-config.json
Run with inline YAML:
curl -X POST http://localhost:3333/run \
-H "Content-Type: application/json" \
-H "X-API-Key: your-secret-key" \
-d '{"yaml": "...", "params": {}}'
Or run from a file on the server:
curl -X POST http://localhost:3333/run-file \
-H "Content-Type: application/json" \
-H "X-API-Key: your-secret-key" \
-d '{"file": "/path/to/agent.yaml", "params": {}}'
Download OE Runtime and run any AI agent locally or as a server — no cloud required.
Get OE Runtime →