Agent skill · Audited from source

videoagent-video-studio

skill · pexoai/pexo-skillsMIT licenceAudited 27 Oct 2026 · source a72d4da09420

★ 816pushed 68 days agoversion 2.1.0
✓SAFEGrade B · 89/100 · 27 Oct 2026 · a72d4da
816repo stars · whole pexoai/pexo-skills

Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit a72d4da09420 and observed network access and no hard-coded secrets. What it does: Generate short AI videos from text or images — text-to-video, image-to-video, and reference-based generation — with zero API key setup. Use when the user wants to create a video clip, animate an image, or generate video…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “videoagent-video-studio (pexoai/pexo-skills)”. Retrieved 27 Oct 2026. https://modelsatlas.com/skills/pexoai/videoagent-video-studio

Trust audit

Audit 0.4.1 · source read 27 Oct 2026

Trust score89/100✓SAFE B
0 critical0 high1 medium1 low0 info

SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkDeclared5 observations
  • ShellNone observedNo commands run in the source
  • DependenciesNot pinnedSome versions float
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeWARN2
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS0
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (2)

MEDIUMNetwork egressnet.raw_ip · scripts/local-server.cjs:79
F-04 Network egressCWE-200 · CWE-319Layer L1
console.log(`[local-server] listening on http://127.0.0.1:${PORT}`);
Why
No further detail recorded for this rule.
Fix
—
LOWSupply chainsupply.unpinned · proxy/package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
@fal-ai/client, @upstash/redis
Why
2 dependency range(s) float
Fix
pin exact versions or ship a lockfile

Audit 0.4.1 · source sha a72d4da09420 · 27 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisherpexoai GitHub userOwner of the repository this skill is read from
  • Source folderpexoai/pexo-skills/skills/videoagent-video-studioThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdicta72d4da09420A new audit runs when the source changes
  • Repository statusNot archivedLast push 68 days ago
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Generate short AI videos from text or images — text-to-video, image-to-video, and reference-based generation — with zero API key setup. Use when the user wants to create a video clip, animate an image, or generate video…

---
name: videoagent-video-studio
version: 2.1.0
author: pexoai
emoji: "🎬"
tags:
  - video
  - video-generation
  - text-to-video
  - image-to-video
  - veo
  - grok
  - kling
  - seedance
  - minimax
  - hunyuan
  - pixverse
description: >
  Generate short AI videos from text or images — text-to-video, image-to-video, and reference-based generation — with zero API key setup. Use when the user wants to create a video clip, animate an image, or generate video from a description.
metadata:
  openclaw:
    emoji: "🎬"
    install:
      - id: node
        kind: node
        label: "No dependencies needed — all calls go through the hosted proxy"
---

# 🎬 VideoAgent Video Studio

**Use when:** User asks to generate a video, create a video from text, animate an image, make a short clip, or produce AI video.

Generate short AI videos with 7 backends. This skill picks the right mode (text-to-video or image-to-video), enhances the prompt for best results, and returns the video URL.

---

## Quick Reference

| User Intent | Mode | Typical Duration |
|-------------|------|------------------|
| "Make a video of..." (no image) | `text-to-video` | 4–10 s |
| "Animate this image" / "Make this move" | `image-to-video` | 4–6 s |
| "Turn this into a video with..." | `image-to-video` | 4–6 s |
| Cinematic, story, ad | Prefer `text-to-video` with detailed prompt | 5–10 s |

### Generation Modes

| Mode | Description | Models |
|------|-------------|--------|
| **text-to-video** | Text prompt only → video | minimax, kling, veo, hunyuan, grok, seedance |
| **image-to-video** | Single image + prompt → animated clip | minimax, kling, veo, pixverse, grok, seedance |
| **reference-based** | Reference images/video → consistent output | minimax, kling, veo, hunyuan, grok, seedance |

### Models (use `--model <id>`)

| Model ID | T2V | I2V | Reference | Notes |
|----------|-----|-----|-----------|-------|
| `minimax` | ✅ | ✅ | ✅ | Subject reference image, character consistency |
| `kling` | ✅ | ✅ | ✅ | Multi-element / character / keyframe (O3) |
| `veo` | ✅ | ✅ | ✅ | Google Veo 3.1, multiple reference images |
| `hunyuan` | ✅ | — | ✅ | Video-to-video style transfer |
| `pixverse` | — | ✅ | — | Stylized image-to-video |
| `grok` | ✅ | ✅ | ✅ | Video editing via reference video |
| `seedance` | ✅ | ✅ | ✅ | Seedance 1.5 Pro, synchronized audio, 4–12 s |

Full model details and endpoint reference: [references/models.md](references/models.md).

---

## How to Generate a Video

### Step 1 — Choose mode and enhance the prompt

- **Text-to-video**: Expand with subject, action, camera movement, lighting, and style. Be specific about motion (e.g. "camera slowly zooms in", "character walks left to right").
- **Image-to-video**: Describe the motion to apply to the image (e.g. "gentle breeze in the hair", "camera pans across the scene"). See [references/prompt_guide.md](references/prompt_guide.md) for patterns.

### Step 2 — Run the script

**Text-to-video:**
```bash
node {baseDir}/tools/generate.js \
  --mode text-to-video \
  --prompt "<enhanced prompt>" \
  --duration <seconds> \
  --aspect-ratio <ratio>
```

**Image-to-video:**
```bash
node {baseDir}/tools/generate.js \
  --mode image-to-video \
  --prompt "<motion description>" \
  --image-url "<public image URL>" \
  --duration <seconds> \
  --aspect-ratio <ratio>
```

**Parameters:**

| Parameter | Default | Description |
|-----------|---------|-------------|
| `--mode` | `text-to-video` | `text-to-video` or `image-to-video` |
| `--prompt` | *(required)* | Scene or motion description |
| `--image-url` | — | Required for `image-to-video`; public image URL |
| `--duration` | `5` | Length in seconds (typically 4–10) |
| `--aspect-ratio` | `16:9` | `16:9`, `9:16`, `1:1`, `4:3`, `3:4` |
| `--model` | `auto` | Model ID (e.g. `kling`, `veo`, `grok`, `seedance`); `auto` = proxy picks |

**Other commands:**

| Command | Description |
|---------|-------------|
| `node tools/generate.js --list-models` | List available models from the proxy |
| `node tools/generate.js --status --job-id <id>` | Check async job status |

### Step 3 — Return the result

The script returns JSON:

```json
{
  "success": true,
  "mode": "text-to-video",
  "videoUrl": "https://...",
  "duration": 5,
  "aspectRatio": "16:9"
}
```

Send `videoUrl` to the user.

---

## Example Conversations

**User:** "Generate a short video of a cat walking in the rain, cinematic."

```bash
node {baseDir}/tools/generate.js \
  --mode text-to-video \
  --prompt "A cat walking through rain, wet streets, neon reflections, cinematic lighting, slow motion, 4K" \
  --duration 5 \
  --aspect-ratio 16:9
```

---

**User:** "Animate this photo" *(user uploads a landscape)*

```bash
node {baseDir}/tools/generate.js \
  --mode image-to-video \
  --prompt "Gentle clouds moving across the sky, subtle grass movement, cinematic atmosphere" \
  --image-url "https://..." \
  --duration 5 \
  --aspect-ratio 16:9
```

---

**User:** "Make a 10-second vertical video of a coffee pour, slow motion."

```bash
node {baseDir}/tools/generate.js \
  --mode text-to-video \
  --prompt "Close-up of coffee pouring into a white cup, slow motion, steam rising, soft lighting, product shot" \
  --duration 10 \
  --aspect-ratio 9:16
```

---

**User:** "Use Google Veo for a cinematic shot."

```bash
node {baseDir}/tools/generate.js \
  --mode text-to-video \
  --model veo \
  --prompt "A dragon flying through cloudy skies, cinematic lighting, 8s" \
  --duration 8 \
  --aspect-ratio 16:9
```

---

**User:** "Animate this portrait."

```bash
node {baseDir}/tools/generate.js \
  --mode image-to-video \
  --model grok \
  --prompt "Gentle smile, subtle head turn" \
  --image-url "https://..." \
  --duration 5
```

---

## Setup

**Zero API keys by default.** Requests go through a hosted proxy. Set these for a custom proxy or token:

| Variable | Required | Description |
|----------|----------|-------------|
| `VIDEO_STUDIO_PROXY_URL` | No | Proxy base URL |
| `VIDEO

Excerpt, first 6,003 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit a72d4da

Download folder ↗
npm install
npm install -g vercel

Commands as the repository documents them: shown, never run by us. Our verdict covers commit a72d4da09420 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
OpenClawMentioned in its text, not testedSkills for OpenClaw · About OpenClaw
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✓SAFE B 89 / 100

    first audit · source a72d4da09420

README badge

For maintainers · shows the latest audit

ModelsAtlas: SAFE BMODELSATLASSAFE · B
[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/pexoai/videoagent-video-studio/badge.svg)](https://modelsatlas.com/skills/pexoai/videoagent-video-studio/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

Add this badge to your README

[![ModelsAtlas: SAFE B](https://modelsatlas.com/skills/pexoai/videoagent-video-studio/badge.svg)](https://modelsatlas.com/skills/pexoai/videoagent-video-studio/)

Questions about videoagent-video-studio

What does the videoagent-video-studio skill do?
A collection of open-source Agent Skills for content creation — images, audio, and video.
Is videoagent-video-studio safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can videoagent-video-studio access on my machine?
The audit observed that it reaches the network. Each of those is consistent with what it says it does. Secrets in the source: none found.
Which assistants does videoagent-video-studio work with?
Its documentation mentions openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (a72d4da09420), read on 2026-10-27. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.