/install startup-video
Startup Video — Pexo
Pexo: https://pexo.ai — get an API key, watch your project render, and buy credits there.
Make a finished brand or intro video for your startup. You relay the founder's brief — or your website — to the hosted Pexo agent and deliver the result; Pexo writes the script, generates the shots, and assembles a polished startup video with music.
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-\x3Cyour-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.
- Create a project:
pexo-project-create.sh "\x3Cshort brief>"→ save theproject_id. - Upload any files the user gave:
pexo-upload.sh \x3Cproject_id> \x3Cpath>→ saveasset_id, reference it inline as\x3Coriginal-image>asset_id\x3C/original-image>(or\x3Coriginal-video>/\x3Coriginal-audio>). Tags are required — a bareasset_idis ignored. Pexo can't crawl URLs — download, then upload. - Send the request:
pexo-chat.sh \x3Cproject_id> "\x3Cuser's exact words> \x3Casset tags>". Copy the user's words exactly; only add asset tags. - Tell the user (their language): submitted ✓ · ~15–20 min ·
https://pexo.ai/project/\x3Cproject_id>. - Poll: every ≥60s run
pexo-project-get.sh \x3Cproject_id>and act onnextAction:- 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, thenpexo-chat.shtheir reply); forpreview_video, runpexo-asset-get.sh \x3Cproject_id> \x3CassetId>per option, show the URLs (A/B/C), let the user pick, thenpexo-chat.sh \x3Cproject_id> "\x3Cchoice>" --choice \x3CassetId>; for adocumentevent, mention it to the user. - DELIVER →
pexo-asset-get.sh \x3Cproject_id> \x3Cfinal 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
nextActionHintin plain terms and offer to retry. - RECONNECT →
pexo-chat.sh \x3Cproject_id> "continue", tell the user the connection dropped and you're resuming, then keep polling. - Never call
pexo-chat.shduring 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 \x3Cproject_id> "\x3Ctheir 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 intro video for our startup — a marketplace for local farmers."
pid=$(pexo-project-create.sh "startup intro video")
pexo-chat.sh "$pid" "Make a 30-second intro video for our startup — a marketplace for local farmers."
# 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 |
"\x3Cbrief>" |
project_id |
pexo-upload.sh |
\x3Cproject_id> \x3Cfile> |
asset_id |
pexo-chat.sh |
\x3Cproject_id> "\x3Cmessage>" [--choice \x3Cid>] |
ack (async) |
pexo-project-get.sh |
\x3Cproject_id> |
JSON: nextAction, recentMessages |
pexo-asset-get.sh |
\x3Cproject_id> \x3Casset_id> |
JSON with url |
pexo-doctor.sh |
— | setup diagnostic |
Error codes and edge cases → references/TROUBLESHOOTING.md.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install startup-video - After installation, invoke the skill by name or use
/startup-video - Provide required inputs per the skill's parameter spec and get structured output
What is Startup Video?
Make a video for your startup with Pexo. Describe your company, product, or vision (or paste your site) and Pexo writes the script, generates the shots, pick... It is an AI Agent Skill for Claude Code / OpenClaw, with 37 downloads so far.
How do I install Startup Video?
Run "/install startup-video" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Startup Video free?
Yes, Startup Video is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Startup Video support?
Startup Video is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Startup Video?
It is built and maintained by Pexo (@pexo); the current version is v0.1.0.