← Back to Blog

How to Run an AI Video Generation Agent with OE Runtime

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.

🎬
Step 1
Design Video Prompt
Craft a detailed Runway prompt with scene, motion, style, and camera movement details.
Step 2
Generate Video
Submit to Runway and poll every 15 seconds until generation status is SUCCEEDED.
Step 3
Report
Return the prompt used, generation time, video URL, duration, resolution, and recommended use cases.

What You Need


Create the Project Folder

Create a folder called video-generation/ and add these two files:

video-generation/
├── SKILL.md         # the portable skill (agentskills.io)
├── agent.yaml       # wires SKILL.md to your connector
└── oe-config.json  # LLM key + connector credentials

The Skill 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

The Config File

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.

Download OE Runtime

OE Runtime — Direct Downloads

Run the Agent

From the parent folder containing your skill directory:

MethodBest forDownload
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

1 npx recommended

npx -y @openenthrium/oe-runtime@latest ./video-generation

2 Windows

oe-runtime-win.exe ./video-generation

3 macOS

chmod +x oe-runtime-macos
./oe-runtime-macos ./video-generation

First run blocked? System Settings → Privacy & Security → Allow Anyway.

4 Linux

chmod +x oe-runtime-linux
./oe-runtime-linux ./video-generation

5 API Server integration

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": {}}'

Use Cases

Build your own agents with OE Runtime

Download OE Runtime and run any AI agent locally or as a server — no cloud required.

Get OE Runtime →
Series OE Runtime Agent Guides — 21 Connectors
Series overview →