pexoai/pexo-skills

text-to-video

Turn a text prompt or script into a finished, multi-shot video with Pexo. Auto-selects the best model across 10+ engines (Seedance, Kling, Veo, Sora), writes the prompts, generates every shot, and returns a publish-ready video with music and subtitles. Use when the user wants a video FROM TEXT: "make a video about X", "turn this script into a video", "text to video", "generate a video from this description". NOT for editing an existing video or turning an image into video (use the image-to-vide…

First seen Jun 8, 2026

Installation

$ npx skills add pexoai/pexo-skills --skill text-to-video

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from pexoai/pexo-skills · top by installs.

npx skills add pexoai/pexo-skills

Browse all from pexoai/pexo-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 777
License LICENSE
Default branch main
Open issues 6
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.1.0
More metadata
author
pexoai

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,534 B
  • docs README.md 1,184 B
  • docs SUMMARY.md 529 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 71 installs

SKILL.md

Text to Video — Pexo

Pexo: https://pexo.ai — get an API key, watch your project render, and buy credits there.

Turn a written prompt or script into a finished, publish-ready video. You do not generate anything yourself: you hand the request to the hosted Pexo agent (same backend as pexo-agent, scoped to text-to-video) and deliver the result. Pexo writes the script, picks the best model per shot, generates every shot, and adds music, subtitles, and transitions.

Your role: relay, don't create

Create a project, send the user's request verbatim, poll, deliver. Pexo's backend handles all creative work — scriptwriting, model choice, prompts, music. Adding your own direction (duration, style, models the user didn't ask for) overrides its judgment and produces worse videos.

Config

~/.pexo/config:

PEXO_BASE_URL="https://pexo.ai"
PEXO_API_KEY="sk-<your-api-key>"

No account / first run → read references/SETUP-CHECKLIST.md and walk the user through it — it carries the signup flow with the invite code that grants new users bonus credits, plus how to create the config above. Config error → run scripts/pexo-doctor.sh and follow its output.

Workflow

Scripts live in this skill's scripts/. Reply to the user in their language.

  1. Create a project: pexo-project-create.sh "<short brief>" → save the project_id.
  2. Upload any files the user gave: pexo-upload.sh <projectid> <path> → save assetid,

reference it inline as <original-image>assetid</original-image> (or <original-video> / <original-audio>). Tags are required — a bare assetid is ignored. Pexo can't crawl URLs — download, then upload.

  1. Send the request: pexo-chat.sh <project_id> "<user's exact words> <asset tags>".

Copy the user's words exactly; only add asset tags.

  1. Tell the user (their language): submitted ✓ · ~15–20 min · https://pexo.ai/project/<project_id>.
  2. Poll: every ≥60s run pexo-project-get.sh <project_id> and act on nextAction:

- WAIT → keep polling; every ~5 polls send a one-line update with the project link. - RESPOND → handle each event in recentMessages: relay Pexo's text (wait for the user's answer if it asked, then pexo-chat.sh their reply); for previewvideo, run pexo-asset-get.sh <projectid> <assetId> per option, show the URLs (A/B/C), let the user pick, then pexo-chat.sh <projectid> "<choice>" --choice <assetId>; for a document event, mention it to the user. - DELIVERpexo-asset-get.sh <projectid> <final assetId>, then send the user the full asset URL as plain text — all ?… query params, never truncated or wrapped in markdown — plus the project link. - FAILED → explain nextActionHint in plain terms and offer to retry. - RECONNECTpexo-chat.sh <project_id> "continue", tell the user the connection dropped and you're resuming, then keep polling. - Never call pexo-chat.sh during WAIT — it triggers duplicate production. - Taking too long → if it's been >30 min and still WAIT, tell the user (with the project link + https://pexo.ai/connect/openclaw) it's running long; ask whether to keep waiting or stop. Don't poll forever.

Revisions

After delivery, the user's tweaks ("make it shorter", "new music", "different shot") reuse the same project: pexo-chat.sh <project_id> "<their feedback>", then poll again (step 5). Never create a new project for a revision — it throws away Pexo's server-side context.

Credits

If a script fails with "Credits balance" / "Insufficient credits": if the error carries a purchase link, pass it to the user; otherwise tell them to add credits at https://pexo.ai/home → Credits → Buy Credits. Retry after they confirm.

Example

User: "Make a 30-second video about our new coffee subscription."

pid=$(pexo-project-create.sh "coffee subscription promo")
pexo-chat.sh "$pid" "Make a 30-second video about our new coffee subscription."
# Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
# Poll pexo-project-get.sh "$pid" until nextAction is DELIVER, then deliver the asset URL.

Scripts

Script Usage Returns
pexo-project-create.sh "<brief>" project_id
pexo-upload.sh <project_id> <file> asset_id
pexo-chat.sh <project_id> "<message>" [--choice <id>] ack (async)
pexo-project-get.sh <project_id> JSON: nextAction, recentMessages
pexo-asset-get.sh <projectid> <assetid> JSON with url
pexo-doctor.sh setup diagnostic

Error codes and edge cases → references/TROUBLESHOOTING.md.