Not in the top 1,000 by GitHub stars

pexoai/pexo-skills

A collection of open-source Agent Skills for content creation — images, audio, and video.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/ai-video-generation/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/explainer-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/founder-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/image-to-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/launch-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/make-a-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/pexo-agent/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/product-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/saas-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/seedance-2.0-prompter/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/startup-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/text-to-video/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/tiktok-video-ad/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/veo-3.2-prompter/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/video-ad/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/videoagent-audio-studio/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/videoagent-director/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/videoagent-image-studio/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/videoagent-video-studio/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

skills/youtube-short-maker/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

f724267e45a0 → f724267e45a0

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → f724267e45a0

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit f724267e45a065b6be445ea6f07312e62d3207cd

git clone --filter=blob:none --no-checkout https://github.com/pexoai/pexo-skills.git .hotskills/pexoai-pexo-skills && git -C .hotskills/pexoai-pexo-skills checkout --detach f724267e45a065b6be445ea6f07312e62d3207cd # Copy each selected skill directory from .hotskills/pexoai-pexo-skills into .claude/skills/<skill-name>/
822GitHub stars
5stars in 7 days
20skills in this repository
0commits in 30 days

Heat

5.2
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 2026822

Individual skills in this repository

How it works

ai-video-generation

When your agent uses it

Generate AI video from any input — text, image, or script — with Pexo. Auto-routes each shot to the best of 10+ models (Seedance, Kling, Veo, Sora, and more), writes the prompts, generates every shot, and returns a finished video with music and subtitles. Use for any AI video generation request: "ai video generation", "generate a video with ai", "ai video generator", "make an ai video". NOT for editing an existing video.

What it loads into context

Frontmatter

187 tokens

Always available to the agent

SKILL.md

1,420 tokens

When the skill is activated

Reference documents

35,685 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Your role: relay, don't create
  2. Config
  3. Workflow
  4. Revisions
  5. Credits
  6. Example
  7. Scripts

Scripts executed separately

  • scripts/_common.sh
  • scripts/pexo-asset-get.sh
  • scripts/pexo-chat.sh
  • scripts/pexo-doctor.sh
  • scripts/pexo-entitlements.sh
  • scripts/pexo-project-create.sh
  • scripts/pexo-project-get.sh
  • scripts/pexo-project-list.sh
  • scripts/pexo-upload.sh
  • ../pexo-agent/scripts/_common.sh
  • ../pexo-agent/scripts/pexo-asset-get.sh
  • ../pexo-agent/scripts/pexo-billing-confirm.sh
  • ../pexo-agent/scripts/pexo-chat.sh
  • ../pexo-agent/scripts/pexo-doctor.sh
  • ../pexo-agent/scripts/pexo-project-create.sh
  • ../pexo-agent/scripts/pexo-project-get.sh
  • ../pexo-agent/scripts/pexo-project-list.sh
  • ../pexo-agent/scripts/pexo-upload.sh
  • ../videoagent-audio-studio/cli.js
  • ../videoagent-audio-studio/proxy/api/audio.js
  • ../videoagent-audio-studio/proxy/api/stats.js
  • ../videoagent-audio-studio/proxy/package.json
  • ../videoagent-audio-studio/proxy/usage-store.js
  • ../videoagent-audio-studio/tools/start_server.sh
  • ../videoagent-director/package.json
  • ../videoagent-director/tools/director.js
  • ../videoagent-image-studio/package.json
  • ../videoagent-image-studio/tools/generate.js
  • ../videoagent-video-studio/package.json
  • ../videoagent-video-studio/proxy/api/generate.js
  • ../videoagent-video-studio/proxy/api/stats.js
  • ../videoagent-video-studio/proxy/api/status.js
  • ../videoagent-video-studio/proxy/api/token.js
  • ../videoagent-video-studio/proxy/models.js
  • ../videoagent-video-studio/proxy/package.json
  • ../videoagent-video-studio/proxy/usage-store.js
  • ../videoagent-video-studio/scripts/local-server.cjs
  • ../videoagent-video-studio/scripts/test-api.ps1
  • ../videoagent-video-studio/scripts/test-generate.ps1
  • ../videoagent-video-studio/scripts/test-generate.sh
  • ../videoagent-video-studio/scripts/test-proxy.cjs
  • ../videoagent-video-studio/tools/generate.js

Files

  • ../../.claude-plugin/marketplace.jsonasset947 bytes
  • README.mddoc1,104 bytes
  • SKILL.mdcore5,358 bytes
  • SKILL.mdcore5,358 bytes
  • SKILL.mdcore5,358 bytes
  • SKILL.mdcore5,358 bytes
  • SKILL.mdcore5,358 bytes
  • SKILL.mdcore5,358 bytes
  • references/SETUP-CHECKLIST.mddoc2,504 bytes
  • references/TROUBLESHOOTING.mddoc12,286 bytes
  • scripts/_common.shruns11,430 bytes
  • scripts/pexo-asset-get.shruns2,340 bytes
  • scripts/pexo-chat.shruns4,558 bytes
  • scripts/pexo-doctor.shruns5,514 bytes
  • scripts/pexo-entitlements.shruns1,604 bytes
  • scripts/pexo-project-create.shruns1,806 bytes
  • scripts/pexo-project-get.shruns7,083 bytes
  • scripts/pexo-project-list.shruns1,670 bytes
  • scripts/pexo-upload.shruns3,175 bytes
  • ../pexo-agent/SKILL.mddoc20,260 bytes
  • ../pexo-agent/agents/openai.yamlasset249 bytes
  • ../pexo-agent/references/SETUP-CHECKLIST.mddoc3,766 bytes
  • ../pexo-agent/references/TROUBLESHOOTING.mddoc13,980 bytes
  • ../pexo-agent/scripts/_common.shruns13,616 bytes
  • ../pexo-agent/scripts/pexo-asset-get.shruns3,904 bytes
  • ../pexo-agent/scripts/pexo-billing-confirm.shruns3,486 bytes
  • ../pexo-agent/scripts/pexo-chat.shruns5,530 bytes
  • ../pexo-agent/scripts/pexo-doctor.shruns6,278 bytes
  • ../pexo-agent/scripts/pexo-project-create.shruns1,679 bytes
  • ../pexo-agent/scripts/pexo-project-get.shruns11,771 bytes
  • ../pexo-agent/scripts/pexo-project-list.shruns1,693 bytes
  • ../pexo-agent/scripts/pexo-upload.shruns3,209 bytes
  • ../seedance-2.0-prompter/SKILL.mddoc2,428 bytes
  • ../seedance-2.0-prompter/references/atomic_element_mapping.mddoc2,851 bytes
  • ../seedance-2.0-prompter/references/prompt_templates.mddoc2,244 bytes
  • ../seedance-2.0-prompter/references/seedance_syntax_guide.mddoc2,926 bytes
  • ../veo-3.2-prompter/SKILL.mddoc3,885 bytes
  • ../veo-3.2-prompter/references/atomic_element_mapping.mddoc4,471 bytes
  • ../veo-3.2-prompter/references/veo_syntax_guide.mddoc6,514 bytes
  • ../videoagent-audio-studio/SKILL.mddoc6,900 bytes
  • ../videoagent-audio-studio/cli.jsruns7,123 bytes
  • ../videoagent-audio-studio/proxy/.gitignoreasset21 bytes
  • ../videoagent-audio-studio/proxy/api/audio.jsruns6,227 bytes
  • ../videoagent-audio-studio/proxy/api/stats.jsruns4,154 bytes
  • ../videoagent-audio-studio/proxy/package-lock.jsonasset2,432 bytes
  • ../videoagent-audio-studio/proxy/package.jsonruns162 bytes
  • ../videoagent-audio-studio/proxy/usage-store.jsruns4,582 bytes
  • ../videoagent-audio-studio/proxy/vercel.jsonasset451 bytes
  • ../videoagent-audio-studio/tools/start_server.shruns1,228 bytes
  • ../videoagent-director/README.mddoc3,577 bytes
  • ../videoagent-director/SKILL.mddoc5,479 bytes
  • ../videoagent-director/package.jsonruns277 bytes
  • ../videoagent-director/references/storyboard_guide.mddoc6,803 bytes
  • ../videoagent-director/tools/director.jsruns11,435 bytes
  • ../videoagent-image-studio/.env.exampleasset931 bytes
  • ../videoagent-image-studio/CHANGELOG.mddoc4,041 bytes
  • ../videoagent-image-studio/CONTRIBUTING.mddoc3,062 bytes
  • ../videoagent-image-studio/SKILL.mddoc6,772 bytes
  • ../videoagent-image-studio/package.jsonruns338 bytes
  • ../videoagent-image-studio/tools/generate.jsruns6,424 bytes
  • ../videoagent-video-studio/README.mddoc4,339 bytes
  • ../videoagent-video-studio/SKILL.mddoc6,528 bytes
  • ../videoagent-video-studio/package-lock.jsonasset260 bytes
  • ../videoagent-video-studio/package.jsonruns229 bytes
  • ../videoagent-video-studio/proxy/README.mddoc3,949 bytes
  • ../videoagent-video-studio/proxy/api/generate.jsruns6,522 bytes
  • ../videoagent-video-studio/proxy/api/stats.jsruns7,470 bytes
  • ../videoagent-video-studio/proxy/api/status.jsruns1,255 bytes
  • ../videoagent-video-studio/proxy/api/token.jsruns2,070 bytes
  • ../videoagent-video-studio/proxy/models.jsruns6,412 bytes
  • ../videoagent-video-studio/proxy/package-lock.jsonasset2,460 bytes
  • ../videoagent-video-studio/proxy/package.jsonruns176 bytes
  • ../videoagent-video-studio/proxy/usage-store.jsruns9,136 bytes
  • ../videoagent-video-studio/proxy/vercel.jsonasset565 bytes
  • ../videoagent-video-studio/references/calling_guide.mddoc5,536 bytes
  • ../videoagent-video-studio/references/models.mddoc2,996 bytes
  • ../videoagent-video-studio/references/prompt_guide.mddoc2,386 bytes
  • ../videoagent-video-studio/scripts/local-server.cjsruns3,068 bytes
  • ../videoagent-video-studio/scripts/test-api.ps1runs10,253 bytes
  • ../videoagent-video-studio/scripts/test-generate.ps1runs818 bytes
  • ../videoagent-video-studio/scripts/test-generate.shruns845 bytes
  • ../videoagent-video-studio/scripts/test-proxy.cjsruns15,506 bytes
  • ../videoagent-video-studio/tools/generate.jsruns4,820 bytes
Read SKILL.md

# AI Video Generation — Pexo

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

Generate a finished video with AI from whatever the user gives you — text, an image, or a
script. You relay the request to the hosted Pexo agent and deliver the result; Pexo picks the
models, writes the prompts, and assembles the final video.

## 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.
View the complete source on GitHub

Skills included

  • ai-video-generation
  • explainer-video
  • founder-video
  • image-to-video
  • launch-video
  • make-a-video
  • pexo-agent
  • product-video
  • saas-video
  • seedance-2.0-prompter
  • startup-video
  • text-to-video
  • tiktok-video-ad
  • veo-3.2-prompter
  • video-ad
  • videoagent-audio-studio
  • videoagent-director
  • videoagent-image-studio
  • videoagent-video-studio
  • youtube-short-maker

Repository facts

License
MIT
Created
Mar 4, 2026
Last pushed
Aug 20, 2026
Forks
49
Open issues
7
Project activity
Slowing

Rank over the last 12 weeks

Now #1,000 · best #650 · down 189 in 30 days

  1. #865 on Oct 21
  2. #840 on Oct 22
  3. #852 on Oct 23
  4. #986 on Oct 25
  5. #997 on Oct 28
  6. #1,000 since Oct 29
41 earlier periods
  1. #653 on Aug 2
  2. #650 on Aug 8
  3. #660 on Aug 9
  4. #684 on Aug 10
  5. #695 on Aug 11
  6. #687 on Aug 12
  7. #684 on Aug 13
  8. #681 on Aug 14
  9. #658 on Aug 15
  10. #675 on Aug 16
  11. #702 on Aug 18
  12. #683 on Aug 19
  13. #685 on Aug 20
  14. #659 on Aug 22
  15. #687 on Aug 23
  16. #722 on Aug 27
  17. #745 on Aug 28
  18. #689 on Aug 29
  19. #737 on Sep 7
  20. #737 on Sep 13
  21. #759 on Sep 15
  22. #769 on Sep 17
  23. #753 on Sep 18
  24. #740 on Sep 20
  25. #766 on Sep 21
  26. #789 on Sep 22
  27. #777 on Sep 23
  28. #745 on Sep 24
  29. #811 on Sep 29
  30. #760 on Oct 2
  31. #810 on Oct 7
  32. #853 on Oct 8
  33. #815 on Oct 9
  34. #797 on Oct 10
  35. #798 on Oct 11
  36. #822 on Oct 12
  37. #827 on Oct 13
  38. #838 on Oct 14
  39. #825 on Oct 15
  40. #835 on Oct 16
  41. #806 on Oct 17

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 4, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 110 notes
  • skills/ai-video-generation/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ai-video-generation/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ai-video-generation/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ai-video-generation/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ai-video-generation/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/explainer-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/explainer-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/explainer-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/explainer-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/explainer-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/founder-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/founder-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/founder-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/founder-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/founder-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/image-to-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/image-to-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/image-to-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/image-to-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/image-to-video/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 2,713 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "Pexo",     "url": "https://pexo.ai"
  • Network accessline 4
    "name": "Pexo",     "url": "https://pexo.ai"   },
  • Network accessline 5
    "url": "https://pexo.ai"

skills/ai-video-generation/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill ai-video-generation
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/ai-video-generation/SKILL.md

  • Network accessline 7
    generation request: "ai video generation", "generate a video with ai", "ai video generator",   "make an ai video". NOT for editing an existing video. homepage: https://pexo.ai
  • Network accessline 8
    "make an ai video". NOT for editing an existing video. homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    pid=$(pexo-project-create.sh "AI video app intro") pexo-chat.sh "$pid" "Generate a 20-second AI video introducing our productivity app." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 91
    pexo-chat.sh "$pid" "Generate a 20-second AI video introducing our productivity app." # 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
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/ai-video-generation/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/ai-video-generation/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/ai-video-generation/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/ai-video-generation/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/ai-video-generation/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/ai-video-generation/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/ai-video-generation/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/ai-video-generation/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/ai-video-generation/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/ai-video-generation/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/ai-video-generation/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/explainer-video/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill explainer-video
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/explainer-video/SKILL.md

  • Network accessline 7
    "explain this as a video", "tutorial video", "how it works video". NOT for ads or promos (use   the video-ad skill). homepage: https://pexo.ai
  • Network accessline 8
    the video-ad skill). homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    pid=$(pexo-project-create.sh "budgeting app explainer") pexo-chat.sh "$pid" "Explain how our budgeting app works in a 60-second video." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 91
    pexo-chat.sh "$pid" "Explain how our budgeting app works in a 60-second video." # 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.
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/explainer-video/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/explainer-video/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/explainer-video/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/explainer-video/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/explainer-video/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/explainer-video/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/explainer-video/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/explainer-video/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/explainer-video/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/explainer-video/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/explainer-video/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/founder-video/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill founder-video
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/founder-video/SKILL.md

  • Network accessline 7
    Hunt, or your personal brand. Use for founder content: "founder video", "solo founder video",   "founder pitch video", "founder story". NOT for paid ad campaigns (use the video-ad skill). homepage: https://pexo.ai
  • Network accessline 8
    "founder pitch video", "founder story". NOT for paid ad campaigns (use the video-ad skill). homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    pid=$(pexo-project-create.sh "founder pitch video") pexo-chat.sh "$pid" "Make a 30-second founder pitch video for my solo SaaS that turns notes into flashcards." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 91
    pexo-chat.sh "$pid" "Make a 30-second founder pitch video for my solo SaaS that turns notes into flashcards." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid # Poll pexo-project-get.sh "$pid" until nextAction is DELIVER
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/founder-video/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/founder-video/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/founder-video/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/founder-video/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/founder-video/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/founder-video/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/founder-video/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/founder-video/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/founder-video/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/founder-video/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/founder-video/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/image-to-video/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill image-to-video
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/image-to-video/SKILL.md

  • Network accessline 8
    this picture", "turn my image into a video". NOT for text-only prompts (use the text-to-video   skill) or editing an existing video. homepage: https://pexo.ai
  • Network accessline 9
    skill) or editing an existing video. homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 10
    homepage: https://pexo.ai
  • Network accessline 11
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 14
    [Credential-related source omitted]
  • Network accessline 22
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 39
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 53
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 54
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 55
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 69
    - 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; a
  • Network accessline 70
    - **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.
  • Network accessline 71
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 82
    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`
  • Network accessline 83
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 91
    pid=$(pexo-project-create.sh "animate product photo") pexo-chat.sh "$pid" "Animate this product photo into a 10-second clip with a slow zoom." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 92
    pexo-chat.sh "$pid" "Animate this product photo into a 10-second clip with a slow zoom." # 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 as
  • Network accessline 93
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/image-to-video/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/image-to-video/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/image-to-video/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/image-to-video/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/image-to-video/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/image-to-video/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/image-to-video/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/image-to-video/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/image-to-video/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/image-to-video/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/image-to-video/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/launch-video/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill launch-video
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/launch-video/SKILL.md

  • Network accessline 8
    "product launch video", "make a launch video", "launch day video". NOT for ongoing ad campaigns   (use the video-ad skill). homepage: https://pexo.ai
  • Network accessline 9
    (use the video-ad skill). homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 10
    homepage: https://pexo.ai
  • Network accessline 11
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 14
    [Credential-related source omitted]
  • Network accessline 22
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 39
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 53
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 54
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 55
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 69
    - 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; a
  • Network accessline 70
    - **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.
  • Network accessline 71
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 82
    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`
  • Network accessline 83
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 91
    pid=$(pexo-project-create.sh "SaaS launch video") pexo-chat.sh "$pid" "Make a 45-second launch video for our SaaS that writes meeting notes automatically." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 92
    pexo-chat.sh "$pid" "Make a 45-second launch video for our SaaS that writes meeting notes automatically." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid # Poll pexo-project-get.sh "$pid" until nextAction is DELIVER, th
  • Network accessline 93
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/launch-video/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/launch-video/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/launch-video/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/launch-video/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/launch-video/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/launch-video/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/launch-video/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/launch-video/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/launch-video/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/launch-video/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/launch-video/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/make-a-video/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill make-a-video
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/make-a-video/SKILL.md

  • Network accessline 7
    "make me a video about X", "create a video", "I need a video for ...". NOT for editing a video   they already have. homepage: https://pexo.ai
  • Network accessline 8
    they already have. homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    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
  • Network accessline 91
    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.
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/make-a-video/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/make-a-video/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/make-a-video/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/make-a-video/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/make-a-video/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/make-a-video/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/make-a-video/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/make-a-video/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/make-a-video/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/make-a-video/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/make-a-video/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/pexo-agent/SKILL.md

  • Network accessline 9
    briefs and assets. Runs setup diagnostics, stores generated downloads locally,   and requires shell, outbound HTTPS, and local file access. Authenticated   requests are locked to https://pexo.ai. No prompts to write, no models to choose.
  • Network accessline 9
    briefs and assets. Runs setup diagnostics, stores generated downloads locally,   and requires shell, outbound HTTPS, and local file access. Authenticated   requests are locked to https://pexo.ai. No prompts to write, no models to choose.
  • Network accessline 10
    and requires shell, outbound HTTPS, and local file access. Authenticated   requests are locked to https://pexo.ai. No prompts to write, no models to choose.   USE FOR: video production, AI video, make a video, product video,
  • Network accessline 10
    and requires shell, outbound HTTPS, and local file access. Authenticated   requests are locked to https://pexo.ai. No prompts to write, no models to choose.   USE FOR: video production, AI video, make a video, product video,
  • Network accessline 11
    requests are locked to https://pexo.ai. No prompts to write, no models to choose.
  • Network accessline 11
    requests are locked to https://pexo.ai. No prompts to write, no models to choose.
  • Access to secretsline 23
    [Credential-related source omitted]
  • Access to secretsline 23
    [Credential-related source omitted]
  • Network accessline 25
    - bash         - curl         - jq
  • Network accessline 25
    - bash         - curl         - jq
  • Network accessline 26
    - curl         - jq         - file
  • Network accessline 26
    - curl         - jq         - file
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]
  • Network accessline 59
    - This Skill runs bundled shell scripts, reads only files the user explicitly selects,   connects only to `https://pexo.ai` for authenticated API calls, uploads approved
  • Network accessline 59
    - This Skill runs bundled shell scripts, reads only files the user explicitly selects,   connects only to `https://pexo.ai` for authenticated API calls, uploads approved
  • Network accessline 60
    connects only to `https://pexo.ai` for authenticated API calls, uploads approved
  • Network accessline 60
    connects only to `https://pexo.ai` for authenticated API calls, uploads approved
  • Access to secretsline 83
    [Credential-related source omitted]
  • Access to secretsline 83
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Network accessline 162
    > ✅ Pexo is ready! > 📖 Guide: https://pexo.ai/connect/openclaw
  • Network accessline 162
    > ✅ Pexo is ready! > 📖 Guide: https://pexo.ai/connect/openclaw
  • Network accessline 163
    > 📖 Guide: https://pexo.ai/connect/openclaw
  • Network accessline 163
    > 📖 Guide: https://pexo.ai/connect/openclaw
  • Network accessline 201
    - Confirmation that the request is submitted to Pexo         - Estimated time: 15–20 minutes for a short video         - Project link: https://pexo.ai/project/{project_id}
  • Network accessline 201
    - Confirmation that the request is submitted to Pexo         - Estimated time: 15–20 minutes for a short video         - Project link: https://pexo.ai/project/{project_id}
  • Network accessline 203
    - Project link: https://pexo.ai/project/{project_id}
  • Network accessline 203
    - Project link: https://pexo.ai/project/{project_id}
  • Network accessline 214
    Go back to Step 5. Keep repeating.           Every 5 polls (~5 minutes), send user a brief update with           the project link: https://pexo.ai/project/{project_id}
  • Network accessline 214
    Go back to Step 5. Keep repeating.           Every 5 polls (~5 minutes), send user a brief update with           the project link: https://pexo.ai/project/{project_id}
  • Network accessline 216
    the project link: https://pexo.ai/project/{project_id}
  • Network accessline 216
    the project link: https://pexo.ai/project/{project_id}
  • Network accessline 296
    Send the FULL URL as plain text, including all query parameters.               Example:               https://pexo-assets.oss-us-east-1.aliyuncs.com/projects%2F123%2Fassets%2Fvideo.mp4?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx
  • Network accessline 296
    Send the FULL URL as plain text, including all query parameters.               Example:               https://pexo-assets.oss-us-east-1.aliyuncs.com/projects%2F123%2Fassets%2Fvideo.mp4?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx
  • Network accessline 297
    Example:               https://pexo-assets.oss-us-east-1.aliyuncs.com/projects%2F123%2Fassets%2Fvideo.mp4?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx             - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 297
    Example:               https://pexo-assets.oss-us-east-1.aliyuncs.com/projects%2F123%2Fassets%2Fvideo.mp4?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx             - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 298
    https://pexo-assets.oss-us-east-1.aliyuncs.com/projects%2F123%2Fassets%2Fvideo.mp4?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx
  • Network accessline 298
    https://pexo-assets.oss-us-east-1.aliyuncs.com/projects%2F123%2Fassets%2Fvideo.mp4?OSSAccessKeyId=xxx&Expires=xxx&Signature=xxx
  • Network accessline 299
    - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 299
    - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 317
    Otherwise, send the user a message (in their language) with:               - What went wrong (explain nextActionHint in simple terms)               - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 317
    Otherwise, send the user a message (in their language) with:               - What went wrong (explain nextActionHint in simple terms)               - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 318
    - What went wrong (explain nextActionHint in simple terms)               - Project page: https://pexo.ai/project/{project_id}               - Offer to retry.
  • Network accessline 318
    - What went wrong (explain nextActionHint in simple terms)               - Project page: https://pexo.ai/project/{project_id}               - Offer to retry.
  • Network accessline 319
    - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 319
    - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 327
    Send the user a message (in their language) with:         - The video is taking longer than expected.         - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 327
    Send the user a message (in their language) with:         - The video is taking longer than expected.         - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 328
    - The video is taking longer than expected.         - Project page: https://pexo.ai/project/{project_id}         - Help guide: https://pexo.ai/connect/openclaw
  • Network accessline 328
    - The video is taking longer than expected.         - Project page: https://pexo.ai/project/{project_id}         - Help guide: https://pexo.ai/connect/openclaw
  • Network accessline 329
    - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 329
    - Project page: https://pexo.ai/project/{project_id}
  • Network accessline 330
    - Help guide: https://pexo.ai/connect/openclaw
  • Network accessline 330
    - Help guide: https://pexo.ai/connect/openclaw
  • Network accessline 347
    send the user a message (in their language) with:         - Their credits are insufficient.         - To add credits: visit https://pexo.ai/home?billing=credits
  • Network accessline 347
    send the user a message (in their language) with:         - Their credits are insufficient.         - To add credits: visit https://pexo.ai/home?billing=credits
  • Network accessline 348
    - Their credits are insufficient.         - To add credits: visit https://pexo.ai/home?billing=credits           and complete the purchase flow.
  • Network accessline 348
    - Their credits are insufficient.         - To add credits: visit https://pexo.ai/home?billing=credits           and complete the purchase flow.
  • Network accessline 349
    - To add credits: visit https://pexo.ai/home?billing=credits
  • Network accessline 349
    - To add credits: visit https://pexo.ai/home?billing=credits
  • Network accessline 367
    Pexo can process a public `https://` webpage URL when it is included verbatim in the user's brief. Pass that webpage URL to Pexo; do not scrape or download the page locally.
  • Network accessline 367
    Pexo can process a public `https://` webpage URL when it is included verbatim in the user's brief. Pass that webpage URL to Pexo; do not scrape or download the page locally.
  • Network accessline 370
    For a direct image, video, or audio file URL, ask for explicit approval before downloading it, then upload the downloaded file. Only fetch public `https://` URLs. Never fetch `http://`,
  • Network accessline 370
    For a direct image, video, or audio file URL, ask for explicit approval before downloading it, then upload the downloaded file. Only fetch public `https://` URLs. Never fetch `http://`,
  • Network accessline 371
    then upload the downloaded file. Only fetch public `https://` URLs. Never fetch `http://`,
  • Network accessline 371
    then upload the downloaded file. Only fetch public `https://` URLs. Never fetch `http://`,

skills/pexo-agent/references/SETUP-CHECKLIST.md

  • Access to secretsline 15
    [Credential-related source omitted]
  • Access to secretsline 15
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]
  • Network accessline 24
    Get your API key at: https://pexo.ai
  • Network accessline 24
    Get your API key at: https://pexo.ai
  • Network accessline 26
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 26
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 27
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 27
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 35
    The next command makes outbound HTTPS requests only to `https://pexo.ai`. It performs
  • Network accessline 35
    The next command makes outbound HTTPS requests only to `https://pexo.ai`. It performs
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Network accessline 55
    The next command sends an authenticated project-list request to `https://pexo.ai` and may
  • Network accessline 55
    The next command sends an authenticated project-list request to `https://pexo.ai` and may
  • Network accessline 66
    ### "PEXO_BASE_URL must be exactly https://pexo.ai"
  • Network accessline 66
    ### "PEXO_BASE_URL must be exactly https://pexo.ai"
  • Network accessline 68
    Authenticated requests are restricted to the production Pexo origin. Remove any custom base URL override, or set it to exactly `https://pexo.ai`.
  • Network accessline 68
    Authenticated requests are restricted to the production Pexo origin. Remove any custom base URL override, or set it to exactly `https://pexo.ai`.
  • Network accessline 69
    URL override, or set it to exactly `https://pexo.ai`.
  • Network accessline 69
    URL override, or set it to exactly `https://pexo.ai`.
  • Access to secretsline 71
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 77
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 77
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 84
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 84
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 85
    brew install curl jq
  • Network accessline 85
    brew install curl jq
  • Network accessline 87
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 87
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 88
    apt-get install -y curl jq file
  • Network accessline 88
    apt-get install -y curl jq file
  • Network accessline 90
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 90
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 91
    yum install -y curl jq file
  • Network accessline 91
    yum install -y curl jq file
  • Network accessline 96
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 96
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 97
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 97
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 109
    | Variable | Description | Required | |---|---|---| | `PEXO_BASE_URL` | Optional compatibility override; if set, must be exactly `https://pexo.ai` | No |
  • Network accessline 109
    | Variable | Description | Required | |---|---|---| | `PEXO_BASE_URL` | Optional compatibility override; if set, must be exactly `https://pexo.ai` | No |
  • Network accessline 110
    |---|---|---| | `PEXO_BASE_URL` | Optional compatibility override; if set, must be exactly `https://pexo.ai` | No | | `PEXO_API_KEY` | Your Pexo API key (starts with `sk-`) | Yes |
  • Network accessline 110
    |---|---|---| | `PEXO_BASE_URL` | Optional compatibility override; if set, must be exactly `https://pexo.ai` | No | | `PEXO_API_KEY` | Your Pexo API key (starts with `sk-`) | Yes |
  • Network accessline 111
    | `PEXO_BASE_URL` | Optional compatibility override; if set, must be exactly `https://pexo.ai` | No |
  • Network accessline 111
    | `PEXO_BASE_URL` | Optional compatibility override; if set, must be exactly `https://pexo.ai` | No |
  • Access to secretsline 112
    [Credential-related source omitted]
  • Access to secretsline 112
    [Credential-related source omitted]

skills/pexo-agent/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 185
    [Credential-related source omitted]
  • Access to secretsline 185
    [Credential-related source omitted]
  • Network accessline 198
    1. Explain the credit restriction to the user. 2. Direct them to `https://pexo.ai/home?billing=credits` and have them complete the purchase flow.
  • Network accessline 198
    1. Explain the credit restriction to the user. 2. Direct them to `https://pexo.ai/home?billing=credits` and have them complete the purchase flow.
  • Network accessline 199
    2. Direct them to `https://pexo.ai/home?billing=credits` and have them complete the purchase flow.
  • Network accessline 199
    2. Direct them to `https://pexo.ai/home?billing=credits` and have them complete the purchase flow.
  • Network accessline 227
    1. Tell the user prominently that production stopped because the account has insufficient credits. 2. Direct them to top up credits at `https://pexo.ai/home?billing=credits`.
  • Network accessline 227
    1. Tell the user prominently that production stopped because the account has insufficient credits. 2. Direct them to top up credits at `https://pexo.ai/home?billing=credits`.
  • Network accessline 228
    2. Direct them to top up credits at `https://pexo.ai/home?billing=credits`.
  • Network accessline 228
    2. Direct them to top up credits at `https://pexo.ai/home?billing=credits`.
  • Access to secretsline 287
    [Credential-related source omitted]
  • Access to secretsline 287
    [Credential-related source omitted]

skills/pexo-agent/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 8
    _PEXO_CONFIG="${PEXO_CONFIG:-$HOME/.pexo/config}" _PEXO_PRODUCTION_BASE_URL="https://pexo.ai"
  • Network accessline 8
    _PEXO_CONFIG="${PEXO_CONFIG:-$HOME/.pexo/config}" _PEXO_PRODUCTION_BASE_URL="https://pexo.ai"
  • Network accessline 9
    _PEXO_PRODUCTION_BASE_URL="https://pexo.ai"
  • Network accessline 9
    _PEXO_PRODUCTION_BASE_URL="https://pexo.ai"
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Network accessline 101
    if [[ -n "$requested" && "$requested" != "$_PEXO_PRODUCTION_BASE_URL" ]]; then
  • Network accessline 101
    if [[ -n "$requested" && "$requested" != "$_PEXO_PRODUCTION_BASE_URL" ]]; then
  • Network accessline 102
    printf 'PEXO_BASE_URL must be exactly %s; refusing to send credentials to %s\n'        "$_PEXO_PRODUCTION_BASE_URL" "$requested" >&2
  • Network accessline 102
    printf 'PEXO_BASE_URL must be exactly %s; refusing to send credentials to %s\n'        "$_PEXO_PRODUCTION_BASE_URL" "$requested" >&2
  • Network accessline 103
    "$_PEXO_PRODUCTION_BASE_URL" "$requested" >&2
  • Network accessline 103
    "$_PEXO_PRODUCTION_BASE_URL" "$requested" >&2
  • Network accessline 107
    export PEXO_BASE_URL="$_PEXO_PRODUCTION_BASE_URL"
  • Network accessline 107
    export PEXO_BASE_URL="$_PEXO_PRODUCTION_BASE_URL"
  • Access to secretsline 170
    [Credential-related source omitted]
  • Access to secretsline 170
    [Credential-related source omitted]
  • Access to secretsline 171
    [Credential-related source omitted]
  • Access to secretsline 171
    [Credential-related source omitted]
  • Access to secretsline 182
    [Credential-related source omitted]
  • Access to secretsline 182
    [Credential-related source omitted]
  • Network accessline 243
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 243
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 244
    jq -nc \
  • Network accessline 244
    jq -nc \
  • Network accessline 297
    jq -nc \
  • Network accessline 297
    jq -nc \
  • Network accessline 320
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 320
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 321
    http_code=$(curl -sS \
  • Network accessline 321
    http_code=$(curl -sS \
  • Network accessline 330
    -d "$body" \       "$@" \       "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?
  • Network accessline 330
    -d "$body" \       "$@" \       "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?
  • Network accessline 331
    "$@" \       "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else
  • Network accessline 331
    "$@" \       "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else
  • Network accessline 332
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 332
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 333
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 333
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 334
    http_code=$(curl -sS \
  • Network accessline 334
    http_code=$(curl -sS \
  • Network accessline 342
    -w '%{http_code}' \       "$@" \       "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?
  • Network accessline 342
    -w '%{http_code}' \       "$@" \       "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?
  • Network accessline 343
    "$@" \       "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   fi
  • Network accessline 343
    "$@" \       "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   fi
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?
  • Dangerous shell operationline 352
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 352
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 358
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 358
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 363
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 363
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 395
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 395
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 396
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 396
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 397
    curl -sS -N \
  • Network accessline 397
    curl -sS -N \
  • Network accessline 404
    -D "$header_file" \       -d "$body" \       "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null
  • Network accessline 404
    -D "$header_file" \       -d "$body" \       "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null
  • Network accessline 405
    -d "$body" \       "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null   else
  • Network accessline 405
    -d "$body" \       "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null   else
  • Network accessline 406
    "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null   else     curl -sS -N \
  • Network accessline 406
    "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null   else     curl -sS -N \
  • Network accessline 407
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 407
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 408
    curl -sS -N \
  • Network accessline 408
    curl -sS -N \
  • Network accessline 414
    -H "Accept: text/event-stream" \       -D "$header_file" \       "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null
  • Network accessline 414
    -H "Accept: text/event-stream" \       -D "$header_file" \       "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null
  • Network accessline 415
    -D "$header_file" \       "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null   fi
  • Network accessline 415
    -D "$header_file" \       "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null   fi
  • Network accessline 416
    "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null
  • Network accessline 416
    "${PEXO_BASE_URL}${path}" 2>"$err_file" | tee "$body_file" | sed '/^: stream opened$/q' >/dev/null
  • Dangerous shell operationline 427
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 427
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 432
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 432
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 438
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 438
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 443
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 443
    rm -f "$body_file" "$header_file" "$err_file"

skills/pexo-agent/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 108
    http_code=$(curl -sS -L \
  • Network accessline 108
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 117
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 117
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 123
    rm -f "$part_path"
  • Dangerous shell operationline 123
    rm -f "$part_path"
  • Dangerous shell operationline 124
    rm -f "$err_file"
  • Dangerous shell operationline 124
    rm -f "$err_file"
  • Dangerous shell operationline 129
    rm -f "$err_file"
  • Dangerous shell operationline 129
    rm -f "$err_file"

skills/pexo-agent/scripts/pexo-billing-confirm.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 100
    ts=$(date +%s000) body=$(jq -nc \
  • Network accessline 100
    ts=$(date +%s000) body=$(jq -nc \
  • Network accessline 101
    body=$(jq -nc \
  • Network accessline 101
    body=$(jq -nc \
  • Network accessline 123
    jq -nc --arg pid "$pid" --arg confirmation_id "$confirmation_id" '{
  • Network accessline 123
    jq -nc --arg pid "$pid" --arg confirmation_id "$confirmation_id" '{

skills/pexo-agent/scripts/pexo-chat.sh

skills/pexo-agent/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 88
    else   echo "$FAIL Config file not found: $config_path"   echo "  Create an owner-only config with the API key copied from https://pexo.ai."
  • Network accessline 88
    else   echo "$FAIL Config file not found: $config_path"   echo "  Create an owner-only config with the API key copied from https://pexo.ai."
  • Network accessline 89
    echo "$FAIL Config file not found: $config_path"   echo "  Create an owner-only config with the API key copied from https://pexo.ai."   echo "  Follow references/SETUP-CHECKLIST.md; it reads the key without echoing it."
  • Network accessline 89
    echo "$FAIL Config file not found: $config_path"   echo "  Create an owner-only config with the API key copied from https://pexo.ai."   echo "  Follow references/SETUP-CHECKLIST.md; it reads the key without echoing it."
  • Network accessline 90
    echo "  Create an owner-only config with the API key copied from https://pexo.ai."
  • Network accessline 90
    echo "  Create an owner-only config with the API key copied from https://pexo.ai."
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 110
    [Credential-related source omitted]
  • Access to secretsline 110
    [Credential-related source omitted]
  • Access to secretsline 111
    [Credential-related source omitted]
  • Access to secretsline 111
    [Credential-related source omitted]
  • Access to secretsline 112
    [Credential-related source omitted]
  • Access to secretsline 112
    [Credential-related source omitted]
  • Access to secretsline 113
    [Credential-related source omitted]
  • Access to secretsline 113
    [Credential-related source omitted]
  • Network accessline 116
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 116
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 117
    [Credential-related source omitted]
  • Network accessline 117
    [Credential-related source omitted]
  • Access to secretsline 117
    [Credential-related source omitted]
  • Access to secretsline 117
    [Credential-related source omitted]
  • Network accessline 118
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 118
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 123
    echo "" for cmd in curl jq file; do
  • Network accessline 123
    echo "" for cmd in curl jq file; do
  • Network accessline 124
    for cmd in curl jq file; do
  • Network accessline 124
    for cmd in curl jq file; do
  • Network accessline 140
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 140
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 141
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 141
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 142
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 142
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 156
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]
  • Network accessline 157
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 157
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 158
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 158
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 159
    [Credential-related source omitted]
  • Network accessline 159
    [Credential-related source omitted]
  • Access to secretsline 159
    [Credential-related source omitted]
  • Access to secretsline 159
    [Credential-related source omitted]
  • Access to secretsline 161
    [Credential-related source omitted]
  • Access to secretsline 161
    [Credential-related source omitted]
  • Dangerous shell operationline 168
    rm -f "$tmp_body" "$tmp_err"
  • Dangerous shell operationline 168
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 175
    [Credential-related source omitted]
  • Access to secretsline 175
    [Credential-related source omitted]
  • Network accessline 176
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 176
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 177
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 177
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 178
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 178
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 193
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 193
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 194
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 194
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 195
    echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 195
    echo "  Curl error: ${curl_err:-unknown}"

skills/pexo-agent/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/pexo-agent/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Executable scriptline 1
    #!/usr/bin/env bash

skills/pexo-agent/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Executable scriptline 1
    #!/usr/bin/env bash

skills/pexo-agent/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/product-video/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill product-video
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/product-video/SKILL.md

  • Network accessline 7
    e-commerce/product clips: "product video", "video for my product", "ecommerce video", "video   from product photos". NOT for explainer or non-product content. homepage: https://pexo.ai
  • Network accessline 8
    from product photos". NOT for explainer or non-product content. homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    pid=$(pexo-project-create.sh "sneaker product video") pexo-chat.sh "$pid" "Make a 20-second product video from these three sneaker photos." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 91
    pexo-chat.sh "$pid" "Make a 20-second product video from these three sneaker photos." # 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
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/product-video/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/product-video/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/product-video/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/product-video/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/product-video/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/product-video/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/product-video/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/product-video/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/product-video/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/product-video/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/product-video/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/saas-video/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill saas-video
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/saas-video/SKILL.md

  • Network accessline 7
    sales. Use for SaaS and software videos: "saas video", "saas demo video", "software demo", "app   explainer video". NOT for live screen recording — Pexo generates the visuals. homepage: https://pexo.ai
  • Network accessline 8
    explainer video". NOT for live screen recording — Pexo generates the visuals. homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    pid=$(pexo-project-create.sh "SaaS demo video") pexo-chat.sh "$pid" "Make a 60-second demo video for our SaaS that automates expense reports." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 91
    pexo-chat.sh "$pid" "Make a 60-second demo video for our SaaS that automates expense reports." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid # Poll pexo-project-get.sh "$pid" until nextAction is DELIVER, then deliver 
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/saas-video/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/saas-video/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/saas-video/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/saas-video/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/saas-video/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/saas-video/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/saas-video/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/saas-video/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/saas-video/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/saas-video/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/saas-video/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/startup-video/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill startup-video
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/startup-video/SKILL.md

  • Network accessline 7
    Use for startup brand and intro videos: "startup video", "video for my startup", "company intro   video", "about us video". NOT for paid ad campaigns (use the video-ad skill). homepage: https://pexo.ai
  • Network accessline 8
    video", "about us video". NOT for paid ad campaigns (use the video-ad skill). homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    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
  • Network accessline 91
    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 d
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/startup-video/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/startup-video/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/startup-video/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/startup-video/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/startup-video/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/startup-video/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/startup-video/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/startup-video/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/startup-video/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/startup-video/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/startup-video/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/text-to-video/README.md

  • Network accessline 11
    npx skills add https://github.com/pexoai/pexo-skills --skill text-to-video
  • Network accessline 19
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 20
    [Credential-related source omitted]
  • Network accessline 23
    Get an API key at <https://pexo.ai>.

skills/text-to-video/SKILL.md

  • Network accessline 8
    video", "generate a video from this description". NOT for editing an existing video or   turning an image into video (use the image-to-video skill). homepage: https://pexo.ai
  • Network accessline 9
    turning an image into video (use the image-to-video skill). homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 10
    homepage: https://pexo.ai
  • Network accessline 11
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 14
    [Credential-related source omitted]
  • Network accessline 22
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 40
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 41
    [Credential-related source omitted]
  • Network accessline 54
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 55
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 56
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 70
    - 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; a
  • Network accessline 71
    - **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.
  • Network accessline 72
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 83
    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`
  • Network accessline 84
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 92
    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
  • Network accessline 93
    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.
  • Network accessline 94
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/text-to-video/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/text-to-video/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/text-to-video/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/text-to-video/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/text-to-video/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/text-to-video/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/text-to-video/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/text-to-video/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/text-to-video/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/text-to-video/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/text-to-video/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/tiktok-video-ad/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill tiktok-video-ad
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/tiktok-video-ad/SKILL.md

  • Network accessline 7
    ad", "tiktok video ad", "ad for tiktok", "vertical video ad". NOT for landscape or long-form ads   (use the video-ad skill). homepage: https://pexo.ai
  • Network accessline 8
    (use the video-ad skill). homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    pid=$(pexo-project-create.sh "skincare serum TikTok ad") pexo-chat.sh "$pid" "Make a TikTok ad for our skincare serum." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 91
    pexo-chat.sh "$pid" "Make a TikTok ad for our skincare serum." # 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.
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/tiktok-video-ad/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/tiktok-video-ad/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/tiktok-video-ad/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/tiktok-video-ad/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/tiktok-video-ad/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/tiktok-video-ad/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/tiktok-video-ad/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/tiktok-video-ad/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/tiktok-video-ad/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/tiktok-video-ad/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/tiktok-video-ad/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/video-ad/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill video-ad
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/video-ad/SKILL.md

  • Network accessline 7
    "make an ad", "product ad", "promo video", "commercial". NOT for explainer or tutorial content   (use the explainer-video skill). homepage: https://pexo.ai
  • Network accessline 8
    (use the explainer-video skill). homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    pid=$(pexo-project-create.sh "running shoes ad") pexo-chat.sh "$pid" "Make a 15-second video ad for our new running shoes." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 91
    pexo-chat.sh "$pid" "Make a 15-second video ad for our new running shoes." # 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.
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/video-ad/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/video-ad/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/video-ad/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/video-ad/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/video-ad/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/video-ad/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/video-ad/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/video-ad/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/video-ad/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/video-ad/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/video-ad/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

skills/videoagent-audio-studio/SKILL.md

  • Network accessline 15
    description: >   Tired of juggling multiple audio APIs? This skill gives you one-command access to TTS, music generation, sound effects, and voice cloning. Use when you want to generate any audio without managing multiple API keys. homepage
  • Network accessline 15
    description: >   Tired of juggling multiple audio APIs? This skill gives you one-command access to TTS, music generation, sound effects, and voice cloning. Use when you want to generate any audio without managing multiple API keys. homepage
  • Network accessline 16
    Tired of juggling multiple audio APIs? This skill gives you one-command access to TTS, music generation, sound effects, and voice cloning. Use when you want to generate any audio without managing multiple API keys. homepage: https://github.
  • Network accessline 16
    Tired of juggling multiple audio APIs? This skill gives you one-command access to TTS, music generation, sound effects, and voice cloning. Use when you want to generate any audio without managing multiple API keys. homepage: https://github.
  • Network accessline 17
    homepage: https://github.com/pexoai/audiomind-skill
  • Network accessline 17
    homepage: https://github.com/pexoai/audiomind-skill
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 150
    [Credential-related source omitted]
  • Access to secretsline 150
    [Credential-related source omitted]
  • Access to secretsline 159
    [Credential-related source omitted]
  • Access to secretsline 159
    [Credential-related source omitted]
  • Network accessline 167
    Get your key at [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys).
  • Network accessline 167
    Get your key at [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys).
  • Network accessline 175
    Get your key at [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
  • Network accessline 175
    Get your key at [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
  • Network accessline 195
    | Variable | Required For | Where to Get | |---|---|---| | `ELEVENLABS_API_KEY` | TTS, SFX, Voice Clone | [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys) |
  • Network accessline 195
    | Variable | Required For | Where to Get | |---|---|---| | `ELEVENLABS_API_KEY` | TTS, SFX, Voice Clone | [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys) |
  • Network accessline 196
    |---|---|---| | `ELEVENLABS_API_KEY` | TTS, SFX, Voice Clone | [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys) | | `FAL_KEY` | Music generation | [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys) |
  • Network accessline 196
    |---|---|---| | `ELEVENLABS_API_KEY` | TTS, SFX, Voice Clone | [elevenlabs.io/app/settings/api-keys](https://elevenlabs.io/app/settings/api-keys) | | `FAL_KEY` | Music generation | [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys) |
  • Network accessline 197
    [Credential-related source omitted]
  • Network accessline 197
    [Credential-related source omitted]
  • Access to secretsline 197
    [Credential-related source omitted]
  • Access to secretsline 197
    [Credential-related source omitted]
  • Network accessline 198
    | `FAL_KEY` | Music generation | [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys) |
  • Network accessline 198
    | `FAL_KEY` | Music generation | [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys) |
  • Network accessline 204
    export AUDIOMIND_PROXY_URL="https://your-domain.com/api/audio"
  • Network accessline 204
    export AUDIOMIND_PROXY_URL="https://your-domain.com/api/audio"
  • Network accessline 213
    "videoagent-audio-studio": {         "env": {           "AUDIOMIND_PROXY_URL": "https://your-domain.com/api/audio"
  • Network accessline 213
    "videoagent-audio-studio": {         "env": {           "AUDIOMIND_PROXY_URL": "https://your-domain.com/api/audio"
  • Network accessline 214
    "env": {           "AUDIOMIND_PROXY_URL": "https://your-domain.com/api/audio"         }
  • Network accessline 214
    "env": {           "AUDIOMIND_PROXY_URL": "https://your-domain.com/api/audio"         }
  • Network accessline 215
    "AUDIOMIND_PROXY_URL": "https://your-domain.com/api/audio"
  • Network accessline 215
    "AUDIOMIND_PROXY_URL": "https://your-domain.com/api/audio"
  • Access to secretsline 247
    [Credential-related source omitted]
  • Access to secretsline 247
    [Credential-related source omitted]

skills/videoagent-audio-studio/cli.js

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 16
    const PROXY_URL = process.env.AUDIOMIND_PROXY_URL || "https://audiomind-proxy.vercel.app/api/audio";
  • Network accessline 16
    const PROXY_URL = process.env.AUDIOMIND_PROXY_URL || "https://audiomind-proxy.vercel.app/api/audio";
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 17
    [Credential-related source omitted]
  • Network accessline 107
    attempt += 1;     await sleep(intervalSeconds * 1000);     const res = await fetch(statusUrl, { method: "GET", headers });
  • Network accessline 107
    attempt += 1;     await sleep(intervalSeconds * 1000);     const res = await fetch(statusUrl, { method: "GET", headers });
  • Network accessline 108
    await sleep(intervalSeconds * 1000);     const res = await fetch(statusUrl, { method: "GET", headers });     const data = await res.json().catch(() => ({}));
  • Network accessline 108
    await sleep(intervalSeconds * 1000);     const res = await fetch(statusUrl, { method: "GET", headers });     const data = await res.json().catch(() => ({}));
  • Network accessline 109
    const res = await fetch(statusUrl, { method: "GET", headers });
  • Network accessline 109
    const res = await fetch(statusUrl, { method: "GET", headers });
  • Network accessline 145
    try {     const res = await fetch(PROXY_URL, {
  • Network accessline 145
    try {     const res = await fetch(PROXY_URL, {
  • Network accessline 146
    const res = await fetch(PROXY_URL, {
  • Network accessline 146
    const res = await fetch(PROXY_URL, {

skills/videoagent-audio-studio/proxy/api/audio.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 51
    const response = await fetch(
  • Network accessline 51
    const response = await fetch(
  • Network accessline 52
    `https://api.elevenlabs.io/v1/text-to-speech/${voiceId}`,
  • Network accessline 52
    `https://api.elevenlabs.io/v1/text-to-speech/${voiceId}`,
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Network accessline 96
    const response = await fetch(
  • Network accessline 96
    const response = await fetch(
  • Network accessline 97
    "https://api.elevenlabs.io/v1/sound-generation",
  • Network accessline 97
    "https://api.elevenlabs.io/v1/sound-generation",
  • Access to secretsline 102
    [Credential-related source omitted]
  • Access to secretsline 102
    [Credential-related source omitted]
  • Access to secretsline 190
    [Credential-related source omitted]
  • Access to secretsline 190
    [Credential-related source omitted]
  • Access to secretsline 197
    [Credential-related source omitted]
  • Access to secretsline 197
    [Credential-related source omitted]

skills/videoagent-audio-studio/proxy/api/stats.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]

skills/videoagent-audio-studio/proxy/package-lock.json

  • Network accessline 15
    "node_modules/@fal-ai/client": {       "version": "1.9.4",       "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",
  • Network accessline 15
    "node_modules/@fal-ai/client": {       "version": "1.9.4",       "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",
  • Network accessline 16
    "version": "1.9.4",       "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",       "integrity": "sha512-mDjF2QDq+oficSSxzmErNkseQeRXnvUBEhJy39n4PPe7jRPZeSqM2SNb27SW50rDtCtay+stwFU8zRZehlt1Qg==",
  • Network accessline 16
    "version": "1.9.4",       "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",       "integrity": "sha512-mDjF2QDq+oficSSxzmErNkseQeRXnvUBEhJy39n4PPe7jRPZeSqM2SNb27SW50rDtCtay+stwFU8zRZehlt1Qg==",
  • Network accessline 17
    "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",
  • Network accessline 17
    "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",
  • Network accessline 29
    "node_modules/@msgpack/msgpack": {       "version": "3.1.3",       "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",
  • Network accessline 29
    "node_modules/@msgpack/msgpack": {       "version": "3.1.3",       "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",
  • Network accessline 30
    "version": "3.1.3",       "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",       "integrity": "sha512-47XIizs9XZXvuJgoaJUIE2lFoID8ugvc0jzSHP+Ptfk8nTbnR8g788wv48N03Kx0UkAv559HWRQ3yzOgzlRNUA==",
  • Network accessline 30
    "version": "3.1.3",       "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",       "integrity": "sha512-47XIizs9XZXvuJgoaJUIE2lFoID8ugvc0jzSHP+Ptfk8nTbnR8g788wv48N03Kx0UkAv559HWRQ3yzOgzlRNUA==",
  • Network accessline 31
    "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",
  • Network accessline 31
    "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",
  • Network accessline 38
    "node_modules/@upstash/redis": {       "version": "1.36.3",       "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",
  • Network accessline 38
    "node_modules/@upstash/redis": {       "version": "1.36.3",       "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",
  • Network accessline 39
    "version": "1.36.3",       "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",       "integrity": "sha512-wxo1ei4OHDHm4UGMgrNVz9QUEela9N/Iwi4p1JlHNSowQiPi+eljlGnfbZVkV0V4PIrjGtGFJt5GjWM5k28enA==",
  • Network accessline 39
    "version": "1.36.3",       "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",       "integrity": "sha512-wxo1ei4OHDHm4UGMgrNVz9QUEela9N/Iwi4p1JlHNSowQiPi+eljlGnfbZVkV0V4PIrjGtGFJt5GjWM5k28enA==",
  • Network accessline 40
    "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",
  • Network accessline 40
    "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",
  • Network accessline 47
    "node_modules/eventsource-parser": {       "version": "1.1.2",       "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
  • Network accessline 47
    "node_modules/eventsource-parser": {       "version": "1.1.2",       "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
  • Network accessline 48
    "version": "1.1.2",       "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",       "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==",
  • Network accessline 48
    "version": "1.1.2",       "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",       "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==",
  • Network accessline 49
    "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
  • Network accessline 49
    "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
  • Network accessline 56
    "node_modules/robot3": {       "version": "0.4.1",       "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",
  • Network accessline 56
    "node_modules/robot3": {       "version": "0.4.1",       "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",
  • Network accessline 57
    "version": "0.4.1",       "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",       "integrity": "sha512-hzjy826lrxzx8eRgv80idkf8ua1JAepRc9Efdtj03N3KNJuznQCPlyCJ7gnUmDFwZCLQjxy567mQVKmdv2BsXQ==",
  • Network accessline 57
    "version": "0.4.1",       "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",       "integrity": "sha512-hzjy826lrxzx8eRgv80idkf8ua1JAepRc9Efdtj03N3KNJuznQCPlyCJ7gnUmDFwZCLQjxy567mQVKmdv2BsXQ==",
  • Network accessline 58
    "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",
  • Network accessline 58
    "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",
  • Network accessline 62
    "node_modules/uncrypto": {       "version": "0.1.3",       "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
  • Network accessline 62
    "node_modules/uncrypto": {       "version": "0.1.3",       "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
  • Network accessline 63
    "version": "0.1.3",       "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",       "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==",
  • Network accessline 63
    "version": "0.1.3",       "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",       "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==",
  • Network accessline 64
    "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
  • Network accessline 64
    "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",

skills/videoagent-audio-studio/proxy/package.json

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/videoagent-audio-studio/proxy/usage-store.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]

skills/videoagent-audio-studio/tools/start_server.sh

  • Executable scriptline 1
    #!/bin/bash
  • Executable scriptline 1
    #!/bin/bash
  • Access to secretsline 8
    [Credential-related source omitted]
  • Access to secretsline 8
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 31
    [Credential-related source omitted]
  • Access to secretsline 31
    [Credential-related source omitted]

skills/videoagent-director/README.md

  • Network accessline 99
    | Variable | Default | Description | |----------|---------|-------------| | `IMAGE_PROXY_URL` | `https://image-gen-proxy.vercel.app` | Image generation proxy |
  • Network accessline 99
    | Variable | Default | Description | |----------|---------|-------------| | `IMAGE_PROXY_URL` | `https://image-gen-proxy.vercel.app` | Image generation proxy |
  • Network accessline 100
    |----------|---------|-------------| | `IMAGE_PROXY_URL` | `https://image-gen-proxy.vercel.app` | Image generation proxy | | `VIDEO_PROXY_URL` | `https://pexo-video-deploy.vercel.app` | Video generation proxy |
  • Network accessline 100
    |----------|---------|-------------| | `IMAGE_PROXY_URL` | `https://image-gen-proxy.vercel.app` | Image generation proxy | | `VIDEO_PROXY_URL` | `https://pexo-video-deploy.vercel.app` | Video generation proxy |
  • Network accessline 101
    | `IMAGE_PROXY_URL` | `https://image-gen-proxy.vercel.app` | Image generation proxy |
  • Network accessline 101
    | `IMAGE_PROXY_URL` | `https://image-gen-proxy.vercel.app` | Image generation proxy |
  • Network accessline 102
    | `VIDEO_PROXY_URL` | `https://pexo-video-deploy.vercel.app` | Video generation proxy |
  • Network accessline 102
    | `VIDEO_PROXY_URL` | `https://pexo-video-deploy.vercel.app` | Video generation proxy |
  • Network accessline 103
    | `AUDIO_PROXY_URL` | `https://audiomind-proxy.vercel.app` | Audio proxy |
  • Network accessline 103
    | `AUDIO_PROXY_URL` | `https://audiomind-proxy.vercel.app` | Audio proxy |

skills/videoagent-director/package.json

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/videoagent-director/tools/director.js

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 20
    *   # Animate an existing image  *   node director.js \  *     --image-url "https://example.com/frame.jpg" \
  • Network accessline 20
    *   # Animate an existing image  *   node director.js \  *     --image-url "https://example.com/frame.jpg" \
  • Network accessline 21
    *   node director.js   *     --image-url "https://example.com/frame.jpg"
  • Network accessline 21
    *   node director.js   *     --image-url "https://example.com/frame.jpg"
  • Network accessline 22
    *     --image-url "https://example.com/frame.jpg" \
  • Network accessline 22
    *     --image-url "https://example.com/frame.jpg" \
  • Network accessline 39
    const IMAGE_PROXY = process.env.IMAGE_PROXY_URL  || "https://image-gen-proxy.vercel.app";
  • Network accessline 39
    const IMAGE_PROXY = process.env.IMAGE_PROXY_URL  || "https://image-gen-proxy.vercel.app";
  • Network accessline 40
    const VIDEO_PROXY = process.env.VIDEO_PROXY_URL  || "https://pexo-video-deploy.vercel.app";
  • Network accessline 40
    const VIDEO_PROXY = process.env.VIDEO_PROXY_URL  || "https://pexo-video-deploy.vercel.app";
  • Network accessline 41
    const AUDIO_PROXY = process.env.AUDIO_PROXY_URL  || "https://audiomind-proxy.vercel.app";
  • Network accessline 41
    const AUDIO_PROXY = process.env.AUDIO_PROXY_URL  || "https://audiomind-proxy.vercel.app";
  • Network accessline 60
    async function post(url, body, headers = {}) {   const res = await fetch(url, {
  • Network accessline 60
    async function post(url, body, headers = {}) {   const res = await fetch(url, {
  • Network accessline 61
    const res = await fetch(url, {
  • Network accessline 61
    const res = await fetch(url, {
  • Network accessline 71
    async function get(url, headers = {}) {   const res = await fetch(url, { headers });
  • Network accessline 71
    async function get(url, headers = {}) {   const res = await fetch(url, { headers });
  • Network accessline 72
    const res = await fetch(url, { headers });
  • Network accessline 72
    const res = await fetch(url, { headers });
  • Access to secretsline 85
    [Credential-related source omitted]
  • Access to secretsline 85
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]
  • Access to secretsline 154
    [Credential-related source omitted]
  • Access to secretsline 154
    [Credential-related source omitted]

skills/videoagent-image-studio/.env.example

  • Network accessline 1
    # ── Client-side (optional) ────────────────────────────────────────────────── # Custom proxy URL — leave empty to use the default hosted proxy # IMAGE_STUDIO_PROXY_URL=https://your-proxy.vercel.app/api/image
  • Network accessline 1
    # ── Client-side (optional) ────────────────────────────────────────────────── # Custom proxy URL — leave empty to use the default hosted proxy # IMAGE_STUDIO_PROXY_URL=https://your-proxy.vercel.app/api/image
  • Network accessline 3
    # IMAGE_STUDIO_PROXY_URL=https://your-proxy.vercel.app/api/image
  • Network accessline 3
    # IMAGE_STUDIO_PROXY_URL=https://your-proxy.vercel.app/api/image
  • Access to secretsline 6
    [Credential-related source omitted]
  • Access to secretsline 6
    [Credential-related source omitted]
  • Network accessline 8
    # ── Server-side (only needed if self-hosting the proxy) ───────────────────── # fal.ai API Key — required for Flux, SDXL, Nano Banana, Ideogram, Recraft # Get it at: https://fal.ai/dashboard/keys
  • Network accessline 8
    # ── Server-side (only needed if self-hosting the proxy) ───────────────────── # fal.ai API Key — required for Flux, SDXL, Nano Banana, Ideogram, Recraft # Get it at: https://fal.ai/dashboard/keys
  • Network accessline 9
    # fal.ai API Key — required for Flux, SDXL, Nano Banana, Ideogram, Recraft # Get it at: https://fal.ai/dashboard/keys # FAL_KEY=your_fal_key_here
  • Network accessline 9
    # fal.ai API Key — required for Flux, SDXL, Nano Banana, Ideogram, Recraft # Get it at: https://fal.ai/dashboard/keys # FAL_KEY=your_fal_key_here
  • Network accessline 10
    # Get it at: https://fal.ai/dashboard/keys
  • Network accessline 10
    # Get it at: https://fal.ai/dashboard/keys
  • Network accessline 13
    # Legnext.ai API Key — required for Midjourney # Get it at: https://legnext.ai/dashboard
  • Network accessline 13
    # Legnext.ai API Key — required for Midjourney # Get it at: https://legnext.ai/dashboard
  • Network accessline 14
    # Get it at: https://legnext.ai/dashboard
  • Network accessline 14
    # Get it at: https://legnext.ai/dashboard

skills/videoagent-image-studio/CHANGELOG.md

  • Network accessline 5
    The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
  • Network accessline 5
    The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
  • Network accessline 6
    and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
  • Network accessline 6
    and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 43
    [Credential-related source omitted]
  • Network accessline 50
    ### Migration Guide If you were using `TTAPI_KEY`, please: 1. Register at [legnext.ai](https://legnext.ai) and get your API key.
  • Network accessline 50
    ### Migration Guide If you were using `TTAPI_KEY`, please: 1. Register at [legnext.ai](https://legnext.ai) and get your API key.
  • Network accessline 51
    If you were using `TTAPI_KEY`, please: 1. Register at [legnext.ai](https://legnext.ai) and get your API key. 2. Update `~/.openclaw/openclaw.json`: rename `TTAPI_KEY` to `LEGNEXT_KEY` and set your new key.
  • Network accessline 51
    If you were using `TTAPI_KEY`, please: 1. Register at [legnext.ai](https://legnext.ai) and get your API key. 2. Update `~/.openclaw/openclaw.json`: rename `TTAPI_KEY` to `LEGNEXT_KEY` and set your new key.
  • Network accessline 52
    1. Register at [legnext.ai](https://legnext.ai) and get your API key.
  • Network accessline 52
    1. Register at [legnext.ai](https://legnext.ai) and get your API key.

skills/videoagent-image-studio/CONTRIBUTING.md

  • Network accessline 21
    # 1. Clone the repository git clone https://github.com/pexoai/videoagent-image-studio.git
  • Network accessline 21
    # 1. Clone the repository git clone https://github.com/pexoai/videoagent-image-studio.git
  • Network accessline 22
    git clone https://github.com/pexoai/videoagent-image-studio.git
  • Network accessline 22
    git clone https://github.com/pexoai/videoagent-image-studio.git
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Network accessline 66
    - **Branch naming**: `feature/xxx`, `fix/xxx`, `chore/xxx` - **Commit format**: Use [Conventional Commits](https://www.conventionalcommits.org/)
  • Network accessline 66
    - **Branch naming**: `feature/xxx`, `fix/xxx`, `chore/xxx` - **Commit format**: Use [Conventional Commits](https://www.conventionalcommits.org/)
  • Network accessline 67
    - **Commit format**: Use [Conventional Commits](https://www.conventionalcommits.org/)
  • Network accessline 67
    - **Commit format**: Use [Conventional Commits](https://www.conventionalcommits.org/)
  • Network accessline 93
    **Q: Where do I get FAL_KEY?** A: Create an API Key at [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
  • Network accessline 93
    **Q: Where do I get FAL_KEY?** A: Create an API Key at [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
  • Network accessline 94
    A: Create an API Key at [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
  • Network accessline 94
    A: Create an API Key at [fal.ai/dashboard/keys](https://fal.ai/dashboard/keys).
  • Network accessline 96
    **Q: Where do I get LEGNEXT_KEY?** A: Get an API Key at [legnext.ai/dashboard](https://legnext.ai/dashboard).
  • Network accessline 96
    **Q: Where do I get LEGNEXT_KEY?** A: Get an API Key at [legnext.ai/dashboard](https://legnext.ai/dashboard).
  • Network accessline 97
    A: Get an API Key at [legnext.ai/dashboard](https://legnext.ai/dashboard).
  • Network accessline 97
    A: Get an API Key at [legnext.ai/dashboard](https://legnext.ai/dashboard).

skills/videoagent-image-studio/SKILL.md

  • Network accessline 15
    description: >   Tired of juggling 8 API keys? This skill gives you one-command access to Midjourney, Flux, Ideogram, and more, with zero setup. Use when you want to generate any image without worrying about API keys. homepage: https://gith
  • Network accessline 15
    description: >   Tired of juggling 8 API keys? This skill gives you one-command access to Midjourney, Flux, Ideogram, and more, with zero setup. Use when you want to generate any image without worrying about API keys. homepage: https://gith
  • Network accessline 16
    Tired of juggling 8 API keys? This skill gives you one-command access to Midjourney, Flux, Ideogram, and more, with zero setup. Use when you want to generate any image without worrying about API keys. homepage: https://github.com/pexoai/ima
  • Network accessline 16
    Tired of juggling 8 API keys? This skill gives you one-command access to Midjourney, Flux, Ideogram, and more, with zero setup. Use when you want to generate any image without worrying about API keys. homepage: https://github.com/pexoai/ima
  • Network accessline 17
    homepage: https://github.com/pexoai/image-studio-skill
  • Network accessline 17
    homepage: https://github.com/pexoai/image-studio-skill
  • Network accessline 87
    "success": true,   "model": "flux-pro",   "imageUrl": "https://...",
  • Network accessline 87
    "success": true,   "model": "flux-pro",   "imageUrl": "https://...",
  • Network accessline 88
    "model": "flux-pro",   "imageUrl": "https://...",   "images": ["https://..."]
  • Network accessline 88
    "model": "flux-pro",   "imageUrl": "https://...",   "images": ["https://..."]
  • Network accessline 89
    "imageUrl": "https://...",
  • Network accessline 89
    "imageUrl": "https://...",
  • Network accessline 90
    "images": ["https://..."]
  • Network accessline 90
    "images": ["https://..."]
  • Network accessline 197
    "enabled": true,         "env": {           "IMAGE_STUDIO_PROXY_URL": "https://your-proxy.vercel.app",
  • Network accessline 197
    "enabled": true,         "env": {           "IMAGE_STUDIO_PROXY_URL": "https://your-proxy.vercel.app",
  • Network accessline 198
    [Credential-related source omitted]
  • Network accessline 198
    [Credential-related source omitted]
  • Network accessline 199
    "IMAGE_STUDIO_PROXY_URL": "https://your-proxy.vercel.app",
  • Network accessline 199
    "IMAGE_STUDIO_PROXY_URL": "https://your-proxy.vercel.app",
  • Network accessline 208
    | Variable | Required | Description | |---|---|---| | `IMAGE_STUDIO_PROXY_URL` | No | Custom proxy base URL (default: `https://image-gen-proxy.vercel.app`) |
  • Network accessline 208
    | Variable | Required | Description | |---|---|---| | `IMAGE_STUDIO_PROXY_URL` | No | Custom proxy base URL (default: `https://image-gen-proxy.vercel.app`) |
  • Network accessline 209
    |---|---|---| | `IMAGE_STUDIO_PROXY_URL` | No | Custom proxy base URL (default: `https://image-gen-proxy.vercel.app`) | | `IMAGE_STUDIO_TOKEN` | No | Persistent token (auto-obtained if not set, 100 free uses per token) |
  • Network accessline 209
    |---|---|---| | `IMAGE_STUDIO_PROXY_URL` | No | Custom proxy base URL (default: `https://image-gen-proxy.vercel.app`) | | `IMAGE_STUDIO_TOKEN` | No | Persistent token (auto-obtained if not set, 100 free uses per token) |
  • Network accessline 210
    | `IMAGE_STUDIO_PROXY_URL` | No | Custom proxy base URL (default: `https://image-gen-proxy.vercel.app`) |
  • Network accessline 210
    | `IMAGE_STUDIO_PROXY_URL` | No | Custom proxy base URL (default: `https://image-gen-proxy.vercel.app`) |

skills/videoagent-image-studio/package.json

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/videoagent-image-studio/tools/generate.js

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 15
    const PROXY_BASE = process.env.IMAGE_STUDIO_PROXY_URL || "https://image-gen-proxy.vercel.app";
  • Network accessline 15
    const PROXY_BASE = process.env.IMAGE_STUDIO_PROXY_URL || "https://image-gen-proxy.vercel.app";
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Network accessline 51
    process.stderr.write("[ImageStudio] No token found, requesting free token...\n");   const res = await fetch(`${PROXY_BASE}/api/token`, {
  • Network accessline 51
    process.stderr.write("[ImageStudio] No token found, requesting free token...\n");   const res = await fetch(`${PROXY_BASE}/api/token`, {
  • Network accessline 52
    const res = await fetch(`${PROXY_BASE}/api/token`, {
  • Network accessline 52
    const res = await fetch(`${PROXY_BASE}/api/token`, {
  • Network accessline 96
    const res = await fetch(`${PROXY_BASE}/api/midjourney`, {
  • Network accessline 96
    const res = await fetch(`${PROXY_BASE}/api/midjourney`, {
  • Network accessline 123
    const res = await fetch(`${PROXY_BASE}/api/generate`, {
  • Network accessline 123
    const res = await fetch(`${PROXY_BASE}/api/generate`, {

skills/videoagent-video-studio/README.md

  • Network accessline 24
    # Image-to-video node tools/generate.js --mode image-to-video --prompt "Slowly pan right" --image-url "https://..." --model minimax
  • Network accessline 24
    # Image-to-video node tools/generate.js --mode image-to-video --prompt "Slowly pan right" --image-url "https://..." --model minimax
  • Network accessline 25
    node tools/generate.js --mode image-to-video --prompt "Slowly pan right" --image-url "https://..." --model minimax
  • Network accessline 25
    node tools/generate.js --mode image-to-video --prompt "Slowly pan right" --image-url "https://..." --model minimax
  • Network accessline 77
    export VIDEO_STUDIO_PROXY_URL=https://your-proxy.vercel.app
  • Network accessline 77
    export VIDEO_STUDIO_PROXY_URL=https://your-proxy.vercel.app
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Network accessline 88
    # Terminal 2: use the CLI export VIDEO_STUDIO_PROXY_URL=http://localhost:3777
  • Network accessline 88
    # Terminal 2: use the CLI export VIDEO_STUDIO_PROXY_URL=http://localhost:3777
  • Network accessline 89
    export VIDEO_STUDIO_PROXY_URL=http://localhost:3777
  • Network accessline 89
    export VIDEO_STUDIO_PROXY_URL=http://localhost:3777
  • Network accessline 96
    export VIDEO_STUDIO_PROXY_URL=https://your-proxy.vercel.app
  • Network accessline 96
    export VIDEO_STUDIO_PROXY_URL=https://your-proxy.vercel.app
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]

skills/videoagent-video-studio/SKILL.md

  • Network accessline 122
    "success": true,   "mode": "text-to-video",   "videoUrl": "https://...",
  • Network accessline 122
    "success": true,   "mode": "text-to-video",   "videoUrl": "https://...",
  • Network accessline 123
    "mode": "text-to-video",   "videoUrl": "https://...",   "duration": 5,
  • Network accessline 123
    "mode": "text-to-video",   "videoUrl": "https://...",   "duration": 5,
  • Network accessline 124
    "videoUrl": "https://...",
  • Network accessline 124
    "videoUrl": "https://...",
  • Network accessline 151
    node {baseDir}/tools/generate.js    --mode image-to-video    --prompt "Gentle clouds moving across the sky, subtle grass movement, cinematic atmosphere"    --image-url "https://..."
  • Network accessline 151
    node {baseDir}/tools/generate.js    --mode image-to-video    --prompt "Gentle clouds moving across the sky, subtle grass movement, cinematic atmosphere"    --image-url "https://..."
  • Network accessline 152
    --mode image-to-video \   --prompt "Gentle clouds moving across the sky, subtle grass movement, cinematic atmosphere" \   --image-url "https://..." \
  • Network accessline 152
    --mode image-to-video \   --prompt "Gentle clouds moving across the sky, subtle grass movement, cinematic atmosphere" \   --image-url "https://..." \
  • Network accessline 153
    --prompt "Gentle clouds moving across the sky, subtle grass movement, cinematic atmosphere" \   --image-url "https://..." \   --duration 5 \
  • Network accessline 153
    --prompt "Gentle clouds moving across the sky, subtle grass movement, cinematic atmosphere" \   --image-url "https://..." \   --duration 5 \
  • Network accessline 154
    --image-url "https://..." \
  • Network accessline 154
    --image-url "https://..." \
  • Network accessline 189
    node {baseDir}/tools/generate.js    --mode image-to-video    --model grok    --prompt "Gentle smile, subtle head turn"    --image-url "https://..."
  • Network accessline 189
    node {baseDir}/tools/generate.js    --mode image-to-video    --model grok    --prompt "Gentle smile, subtle head turn"    --image-url "https://..."
  • Network accessline 191
    --model grok \   --prompt "Gentle smile, subtle head turn" \   --image-url "https://..." \
  • Network accessline 191
    --model grok \   --prompt "Gentle smile, subtle head turn" \   --image-url "https://..." \
  • Network accessline 192
    --prompt "Gentle smile, subtle head turn" \   --image-url "https://..." \   --duration 5
  • Network accessline 192
    --prompt "Gentle smile, subtle head turn" \   --image-url "https://..." \   --duration 5
  • Network accessline 193
    --image-url "https://..." \
  • Network accessline 193
    --image-url "https://..." \

skills/videoagent-video-studio/package.json

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/videoagent-video-studio/proxy/README.md

  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 71
    "duration": 5,   "aspectRatio": "16:9",   "imageUrl": "https://..."
  • Network accessline 71
    "duration": 5,   "aspectRatio": "16:9",   "imageUrl": "https://..."
  • Network accessline 72
    "aspectRatio": "16:9",   "imageUrl": "https://..." }
  • Network accessline 72
    "aspectRatio": "16:9",   "imageUrl": "https://..." }
  • Network accessline 73
    "imageUrl": "https://..."
  • Network accessline 73
    "imageUrl": "https://..."
  • Network accessline 79
    { "success": true, "videoUrl": "https://...", "mode": "text-to-video", "model": "kling", "duration": 5 }
  • Network accessline 79
    { "success": true, "videoUrl": "https://...", "mode": "text-to-video", "model": "kling", "duration": 5 }
  • Network accessline 107
    https://your-proxy.vercel.app/api/stats?ui=1
  • Network accessline 107
    https://your-proxy.vercel.app/api/stats?ui=1
  • Network accessline 120
    # In another terminal: export VIDEO_STUDIO_PROXY_URL=http://localhost:3777
  • Network accessline 120
    # In another terminal: export VIDEO_STUDIO_PROXY_URL=http://localhost:3777
  • Network accessline 121
    export VIDEO_STUDIO_PROXY_URL=http://localhost:3777
  • Network accessline 121
    export VIDEO_STUDIO_PROXY_URL=http://localhost:3777

skills/videoagent-video-studio/proxy/api/generate.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]

skills/videoagent-video-studio/proxy/api/stats.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Access to secretsline 8
    [Credential-related source omitted]
  • Access to secretsline 8
    [Credential-related source omitted]
  • Access to secretsline 161
    [Credential-related source omitted]
  • Access to secretsline 161
    [Credential-related source omitted]

skills/videoagent-video-studio/proxy/api/status.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/videoagent-video-studio/proxy/api/token.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/videoagent-video-studio/proxy/models.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 154
    [Credential-related source omitted]
  • Access to secretsline 154
    [Credential-related source omitted]

skills/videoagent-video-studio/proxy/package-lock.json

  • Network accessline 15
    "node_modules/@fal-ai/client": {       "version": "1.9.4",       "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",
  • Network accessline 15
    "node_modules/@fal-ai/client": {       "version": "1.9.4",       "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",
  • Network accessline 16
    "version": "1.9.4",       "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",       "integrity": "sha512-mDjF2QDq+oficSSxzmErNkseQeRXnvUBEhJy39n4PPe7jRPZeSqM2SNb27SW50rDtCtay+stwFU8zRZehlt1Qg==",
  • Network accessline 16
    "version": "1.9.4",       "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",       "integrity": "sha512-mDjF2QDq+oficSSxzmErNkseQeRXnvUBEhJy39n4PPe7jRPZeSqM2SNb27SW50rDtCtay+stwFU8zRZehlt1Qg==",
  • Network accessline 17
    "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",
  • Network accessline 17
    "resolved": "https://registry.npmjs.org/@fal-ai/client/-/client-1.9.4.tgz",
  • Network accessline 29
    "node_modules/@msgpack/msgpack": {       "version": "3.1.3",       "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",
  • Network accessline 29
    "node_modules/@msgpack/msgpack": {       "version": "3.1.3",       "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",
  • Network accessline 30
    "version": "3.1.3",       "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",       "integrity": "sha512-47XIizs9XZXvuJgoaJUIE2lFoID8ugvc0jzSHP+Ptfk8nTbnR8g788wv48N03Kx0UkAv559HWRQ3yzOgzlRNUA==",
  • Network accessline 30
    "version": "3.1.3",       "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",       "integrity": "sha512-47XIizs9XZXvuJgoaJUIE2lFoID8ugvc0jzSHP+Ptfk8nTbnR8g788wv48N03Kx0UkAv559HWRQ3yzOgzlRNUA==",
  • Network accessline 31
    "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",
  • Network accessline 31
    "resolved": "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-3.1.3.tgz",
  • Network accessline 38
    "node_modules/@upstash/redis": {       "version": "1.36.3",       "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",
  • Network accessline 38
    "node_modules/@upstash/redis": {       "version": "1.36.3",       "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",
  • Network accessline 39
    "version": "1.36.3",       "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",       "integrity": "sha512-wxo1ei4OHDHm4UGMgrNVz9QUEela9N/Iwi4p1JlHNSowQiPi+eljlGnfbZVkV0V4PIrjGtGFJt5GjWM5k28enA==",
  • Network accessline 39
    "version": "1.36.3",       "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",       "integrity": "sha512-wxo1ei4OHDHm4UGMgrNVz9QUEela9N/Iwi4p1JlHNSowQiPi+eljlGnfbZVkV0V4PIrjGtGFJt5GjWM5k28enA==",
  • Network accessline 40
    "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",
  • Network accessline 40
    "resolved": "https://registry.npmjs.org/@upstash/redis/-/redis-1.36.3.tgz",
  • Network accessline 47
    "node_modules/eventsource-parser": {       "version": "1.1.2",       "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
  • Network accessline 47
    "node_modules/eventsource-parser": {       "version": "1.1.2",       "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
  • Network accessline 48
    "version": "1.1.2",       "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",       "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==",
  • Network accessline 48
    "version": "1.1.2",       "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",       "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==",
  • Network accessline 49
    "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
  • Network accessline 49
    "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz",
  • Network accessline 56
    "node_modules/robot3": {       "version": "0.4.1",       "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",
  • Network accessline 56
    "node_modules/robot3": {       "version": "0.4.1",       "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",
  • Network accessline 57
    "version": "0.4.1",       "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",       "integrity": "sha512-hzjy826lrxzx8eRgv80idkf8ua1JAepRc9Efdtj03N3KNJuznQCPlyCJ7gnUmDFwZCLQjxy567mQVKmdv2BsXQ==",
  • Network accessline 57
    "version": "0.4.1",       "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",       "integrity": "sha512-hzjy826lrxzx8eRgv80idkf8ua1JAepRc9Efdtj03N3KNJuznQCPlyCJ7gnUmDFwZCLQjxy567mQVKmdv2BsXQ==",
  • Network accessline 58
    "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",
  • Network accessline 58
    "resolved": "https://registry.npmjs.org/robot3/-/robot3-0.4.1.tgz",
  • Network accessline 62
    "node_modules/uncrypto": {       "version": "0.1.3",       "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
  • Network accessline 62
    "node_modules/uncrypto": {       "version": "0.1.3",       "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
  • Network accessline 63
    "version": "0.1.3",       "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",       "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==",
  • Network accessline 63
    "version": "0.1.3",       "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",       "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==",
  • Network accessline 64
    "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
  • Network accessline 64
    "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",

skills/videoagent-video-studio/proxy/package.json

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/videoagent-video-studio/proxy/usage-store.js

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]

skills/videoagent-video-studio/references/calling_guide.md

  • Network accessline 16
    "duration": 5,   "aspectRatio": "16:9",   "imageUrl": "https://..."
  • Network accessline 16
    "duration": 5,   "aspectRatio": "16:9",   "imageUrl": "https://..."
  • Network accessline 17
    "aspectRatio": "16:9",   "imageUrl": "https://..." }
  • Network accessline 17
    "aspectRatio": "16:9",   "imageUrl": "https://..." }
  • Network accessline 18
    "imageUrl": "https://..."
  • Network accessline 18
    "imageUrl": "https://..."
  • Network accessline 39
    | **Reference endpoint** | `fal-ai/minimax/video-01-subject-reference` | | **T2V / I2V input** | `prompt` + `output_format: "url"`; I2V adds `image_url`. Duration and aspect_ratio are not passed. | | **Reference input** | `{ prompt, subject
  • Network accessline 39
    | **Reference endpoint** | `fal-ai/minimax/video-01-subject-reference` | | **T2V / I2V input** | `prompt` + `output_format: "url"`; I2V adds `image_url`. Duration and aspect_ratio are not passed. | | **Reference input** | `{ prompt, subject
  • Network accessline 41
    | **Reference input** | `{ prompt, subject_reference_image_url: "https://..." }` — one subject reference image for character consistency |
  • Network accessline 41
    | **Reference input** | `{ prompt, subject_reference_image_url: "https://..." }` — one subject reference image for character consistency |
  • Network accessline 78
    | **Reference endpoint** | `fal-ai/hunyuan-video/video-to-video` | | **T2V input** | `prompt`, `aspect_ratio`, `output_format: "url"`. Duration not passed. | | **Reference input** | `{ prompt, video_url: "https://...", aspect_ratio, strengt
  • Network accessline 78
    | **Reference endpoint** | `fal-ai/hunyuan-video/video-to-video` | | **T2V input** | `prompt`, `aspect_ratio`, `output_format: "url"`. Duration not passed. | | **Reference input** | `{ prompt, video_url: "https://...", aspect_ratio, strengt
  • Network accessline 80
    | **Reference input** | `{ prompt, video_url: "https://...", aspect_ratio, strength: 0.85 }` — `strength` controls how far the output drifts from the reference (lower = closer to original) |
  • Network accessline 80
    | **Reference input** | `{ prompt, video_url: "https://...", aspect_ratio, strength: 0.85 }` — `strength` controls how far the output drifts from the reference (lower = closer to original) |
  • Network accessline 100
    | **Reference endpoint** | `xai/grok-imagine-video/edit-video` | | **T2V / I2V input** | `prompt`, `duration` (1–15 s, default 6), `aspect_ratio`, `resolution: "720p"`; I2V adds `image_url` | | **Reference input** | `{ prompt: "Colorize the
  • Network accessline 100
    | **Reference endpoint** | `xai/grok-imagine-video/edit-video` | | **T2V / I2V input** | `prompt`, `duration` (1–15 s, default 6), `aspect_ratio`, `resolution: "720p"`; I2V adds `image_url` | | **Reference input** | `{ prompt: "Colorize the
  • Network accessline 102
    | **Reference input** | `{ prompt: "Colorize the video", video_url: "https://..." }` |
  • Network accessline 102
    | **Reference input** | `{ prompt: "Colorize the video", video_url: "https://..." }` |
  • Network accessline 127
    { "video": { "url": "https://...", "content_type": "video/mp4" }, "seed": 42 }
  • Network accessline 127
    { "video": { "url": "https://...", "content_type": "video/mp4" }, "seed": 42 }

skills/videoagent-video-studio/scripts/local-server.cjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Network accessline 23
    nodeReq.on("data", (c) => (body += c));     nodeReq.on("end", () => {       const url = new URL(nodeReq.url, `http://localhost:${PORT}`);
  • Network accessline 23
    nodeReq.on("data", (c) => (body += c));     nodeReq.on("end", () => {       const url = new URL(nodeReq.url, `http://localhost:${PORT}`);
  • Network accessline 24
    nodeReq.on("end", () => {       const url = new URL(nodeReq.url, `http://localhost:${PORT}`);       const query = Object.fromEntries(url.searchParams.entries());
  • Network accessline 24
    nodeReq.on("end", () => {       const url = new URL(nodeReq.url, `http://localhost:${PORT}`);       const query = Object.fromEntries(url.searchParams.entries());
  • Network accessline 25
    const url = new URL(nodeReq.url, `http://localhost:${PORT}`);
  • Network accessline 25
    const url = new URL(nodeReq.url, `http://localhost:${PORT}`);
  • Network accessline 68
    const pathname = new URL(nodeReq.url, `http://localhost:${PORT}`).pathname;
  • Network accessline 68
    const pathname = new URL(nodeReq.url, `http://localhost:${PORT}`).pathname;
  • Network accessline 78
    server.listen(PORT, "127.0.0.1", () => {   console.log(`[local-server] listening on http://127.0.0.1:${PORT}`);
  • Network accessline 78
    server.listen(PORT, "127.0.0.1", () => {   console.log(`[local-server] listening on http://127.0.0.1:${PORT}`);
  • Network accessline 79
    console.log(`[local-server] listening on http://127.0.0.1:${PORT}`);
  • Network accessline 79
    console.log(`[local-server] listening on http://127.0.0.1:${PORT}`);
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 80
    [Credential-related source omitted]

skills/videoagent-video-studio/scripts/test-api.ps1

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Network accessline 5
    [Credential-related source omitted]
  • Network accessline 5
    [Credential-related source omitted]
  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 6
    #   Test via local or deployed proxy: #     $env:FAL_KEY = "your-api-key"; $env:VIDEO_STUDIO_PROXY_URL = "http://localhost:3000"; .\test-api.ps1 # ============================================================
  • Network accessline 6
    #   Test via local or deployed proxy: #     $env:FAL_KEY = "your-api-key"; $env:VIDEO_STUDIO_PROXY_URL = "http://localhost:3000"; .\test-api.ps1 # ============================================================
  • Network accessline 7
    [Credential-related source omitted]
  • Network accessline 7
    [Credential-related source omitted]
  • Access to secretsline 7
    [Credential-related source omitted]
  • Access to secretsline 7
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]
  • Network accessline 51
    Write-Info "1-A: minimax text-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/minimax/video-01" `
  • Network accessline 51
    Write-Info "1-A: minimax text-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/minimax/video-01" `
  • Network accessline 52
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/minimax/video-01"
  • Network accessline 52
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/minimax/video-01"
  • Network accessline 53
    -Uri "https://queue.fal.run/fal-ai/minimax/video-01" `
  • Network accessline 53
    -Uri "https://queue.fal.run/fal-ai/minimax/video-01" `
  • Network accessline 65
    Write-Info "1-B: kling text-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/kling-video/v3/standard/text-to-video" `
  • Network accessline 65
    Write-Info "1-B: kling text-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/kling-video/v3/standard/text-to-video" `
  • Network accessline 66
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/kling-video/v3/standard/text-to-video"
  • Network accessline 66
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/kling-video/v3/standard/text-to-video"
  • Network accessline 67
    -Uri "https://queue.fal.run/fal-ai/kling-video/v3/standard/text-to-video" `
  • Network accessline 67
    -Uri "https://queue.fal.run/fal-ai/kling-video/v3/standard/text-to-video" `
  • Network accessline 78
    Write-Info "1-C: seedance 1.5 pro text-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/bytedance/seedance/v1.5/pro/text-to-video" `
  • Network accessline 78
    Write-Info "1-C: seedance 1.5 pro text-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/bytedance/seedance/v1.5/pro/text-to-video" `
  • Network accessline 79
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/bytedance/seedance/v1.5/pro/text-to-video"
  • Network accessline 79
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/bytedance/seedance/v1.5/pro/text-to-video"
  • Network accessline 80
    -Uri "https://queue.fal.run/fal-ai/bytedance/seedance/v1.5/pro/text-to-video" `
  • Network accessline 80
    -Uri "https://queue.fal.run/fal-ai/bytedance/seedance/v1.5/pro/text-to-video" `
  • Network accessline 91
    Write-Info "1-D: veo 3.1 reference-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/veo3.1/reference-to-video" `
  • Network accessline 91
    Write-Info "1-D: veo 3.1 reference-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/veo3.1/reference-to-video" `
  • Network accessline 92
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/veo3.1/reference-to-video"
  • Network accessline 92
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/veo3.1/reference-to-video"
  • Network accessline 93
    -Uri "https://queue.fal.run/fal-ai/veo3.1/reference-to-video" `
  • Network accessline 93
    -Uri "https://queue.fal.run/fal-ai/veo3.1/reference-to-video" `
  • Network accessline 96
    -Body @{       prompt = "A person walking through a sunlit park"       image_urls = @("https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png")
  • Network accessline 96
    -Body @{       prompt = "A person walking through a sunlit park"       image_urls = @("https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png")
  • Network accessline 97
    prompt = "A person walking through a sunlit park"       image_urls = @("https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png")       aspect_ratio = "16:9"
  • Network accessline 97
    prompt = "A person walking through a sunlit park"       image_urls = @("https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png")       aspect_ratio = "16:9"
  • Network accessline 98
    image_urls = @("https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png")
  • Network accessline 98
    image_urls = @("https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/PNG_transparency_demonstration_1.png/280px-PNG_transparency_demonstration_1.png")
  • Network accessline 109
    Write-Info "1-E: hunyuan video-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/hunyuan-video/video-to-video" `
  • Network accessline 109
    Write-Info "1-E: hunyuan video-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/fal-ai/hunyuan-video/video-to-video" `
  • Network accessline 110
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/hunyuan-video/video-to-video"
  • Network accessline 110
    $r = Invoke-Json      -Uri "https://queue.fal.run/fal-ai/hunyuan-video/video-to-video"
  • Network accessline 111
    -Uri "https://queue.fal.run/fal-ai/hunyuan-video/video-to-video" `
  • Network accessline 111
    -Uri "https://queue.fal.run/fal-ai/hunyuan-video/video-to-video" `
  • Network accessline 114
    -Body @{       prompt = "Same scene but at night with neon lights"       video_url = "https://storage.googleapis.com/falserverless/hunyuan_video/hunyuan_v2v_input.mp4"
  • Network accessline 114
    -Body @{       prompt = "Same scene but at night with neon lights"       video_url = "https://storage.googleapis.com/falserverless/hunyuan_video/hunyuan_v2v_input.mp4"
  • Network accessline 115
    prompt = "Same scene but at night with neon lights"       video_url = "https://storage.googleapis.com/falserverless/hunyuan_video/hunyuan_v2v_input.mp4"       aspect_ratio = "16:9"
  • Network accessline 115
    prompt = "Same scene but at night with neon lights"       video_url = "https://storage.googleapis.com/falserverless/hunyuan_video/hunyuan_v2v_input.mp4"       aspect_ratio = "16:9"
  • Network accessline 116
    video_url = "https://storage.googleapis.com/falserverless/hunyuan_video/hunyuan_v2v_input.mp4"
  • Network accessline 116
    video_url = "https://storage.googleapis.com/falserverless/hunyuan_video/hunyuan_v2v_input.mp4"
  • Network accessline 127
    Write-Info "1-F: grok text-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/xai/grok-imagine-video/text-to-video" `
  • Network accessline 127
    Write-Info "1-F: grok text-to-video (submit)"   $r = Invoke-Json `     -Uri "https://queue.fal.run/xai/grok-imagine-video/text-to-video" `
  • Network accessline 128
    $r = Invoke-Json      -Uri "https://queue.fal.run/xai/grok-imagine-video/text-to-video"
  • Network accessline 128
    $r = Invoke-Json      -Uri "https://queue.fal.run/xai/grok-imagine-video/text-to-video"
  • Network accessline 129
    -Uri "https://queue.fal.run/xai/grok-imagine-video/text-to-video" `
  • Network accessline 129
    -Uri "https://queue.fal.run/xai/grok-imagine-video/text-to-video" `
  • Network accessline 141
    Write-Info "1-G: check minimax job status (request_id=$($Script:minimaxReqId))"     $r = Invoke-Json `       -Uri "https://queue.fal.run/fal-ai/minimax/video-01/requests/$($Script:minimaxReqId)/status" `
  • Network accessline 141
    Write-Info "1-G: check minimax job status (request_id=$($Script:minimaxReqId))"     $r = Invoke-Json `       -Uri "https://queue.fal.run/fal-ai/minimax/video-01/requests/$($Script:minimaxReqId)/status" `
  • Network accessline 142
    $r = Invoke-Json        -Uri "https://queue.fal.run/fal-ai/minimax/video-01/requests/$($Script:minimaxReqId)/status"
  • Network accessline 142
    $r = Invoke-Json        -Uri "https://queue.fal.run/fal-ai/minimax/video-01/requests/$($Script:minimaxReqId)/status"
  • Network accessline 143
    -Uri "https://queue.fal.run/fal-ai/minimax/video-01/requests/$($Script:minimaxReqId)/status" `
  • Network accessline 143
    -Uri "https://queue.fal.run/fal-ai/minimax/video-01/requests/$($Script:minimaxReqId)/status" `

skills/videoagent-video-studio/scripts/test-generate.ps1

  • Network accessline 1
    # Quick test for tools/generate.js. Set VIDEO_STUDIO_PROXY_URL to your proxy (e.g. http://localhost:3000).
  • Network accessline 1
    # Quick test for tools/generate.js. Set VIDEO_STUDIO_PROXY_URL to your proxy (e.g. http://localhost:3000).
  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file

skills/videoagent-video-studio/scripts/test-generate.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 2
    # Quick test for tools/generate.js. Set VIDEO_STUDIO_PROXY_URL to your proxy (e.g. http://localhost:3000).
  • Network accessline 2
    # Quick test for tools/generate.js. Set VIDEO_STUDIO_PROXY_URL to your proxy (e.g. http://localhost:3000).

skills/videoagent-video-studio/scripts/test-proxy.cjs

  • Executable scriptline 1
    Executable file
  • Executable scriptline 1
    Executable file
  • Access to secretsline 7
    [Credential-related source omitted]
  • Access to secretsline 7
    [Credential-related source omitted]
  • Network accessline 109
    await test("getModel('veo') refInput always returns duration 8s", async () => {     const m = getModel("veo");     const input = m.refInput({ prompt: "test", imageUrl: "http://x.com/img.jpg", duration: 4 });
  • Network accessline 109
    await test("getModel('veo') refInput always returns duration 8s", async () => {     const m = getModel("veo");     const input = m.refInput({ prompt: "test", imageUrl: "http://x.com/img.jpg", duration: 4 });
  • Network accessline 110
    const m = getModel("veo");     const input = m.refInput({ prompt: "test", imageUrl: "http://x.com/img.jpg", duration: 4 });     expect(input.duration, "veo ref duration").toBe("8s");
  • Network accessline 110
    const m = getModel("veo");     const input = m.refInput({ prompt: "test", imageUrl: "http://x.com/img.jpg", duration: 4 });     expect(input.duration, "veo ref duration").toBe("8s");
  • Network accessline 111
    const input = m.refInput({ prompt: "test", imageUrl: "http://x.com/img.jpg", duration: 4 });
  • Network accessline 111
    const input = m.refInput({ prompt: "test", imageUrl: "http://x.com/img.jpg", duration: 4 });
  • Access to secretsline 239
    [Credential-related source omitted]
  • Access to secretsline 239
    [Credential-related source omitted]
  • Access to secretsline 240
    [Credential-related source omitted]
  • Access to secretsline 240
    [Credential-related source omitted]
  • Access to secretsline 250
    [Credential-related source omitted]
  • Access to secretsline 250
    [Credential-related source omitted]
  • Access to secretsline 262
    [Credential-related source omitted]
  • Access to secretsline 262
    [Credential-related source omitted]
  • Access to secretsline 268
    [Credential-related source omitted]
  • Access to secretsline 268
    [Credential-related source omitted]
  • Access to secretsline 297
    [Credential-related source omitted]
  • Access to secretsline 297
    [Credential-related source omitted]
  • Access to secretsline 308
    [Credential-related source omitted]
  • Access to secretsline 308
    [Credential-related source omitted]
  • Access to secretsline 314
    [Credential-related source omitted]
  • Access to secretsline 314
    [Credential-related source omitted]
  • Access to secretsline 318
    [Credential-related source omitted]
  • Access to secretsline 318
    [Credential-related source omitted]
  • Access to secretsline 324
    [Credential-related source omitted]
  • Access to secretsline 324
    [Credential-related source omitted]

skills/videoagent-video-studio/tools/generate.js

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 12
    const PROXY_BASE = process.env.VIDEO_STUDIO_PROXY_URL || "https://video-gen-proxy.vercel.app";
  • Network accessline 12
    const PROXY_BASE = process.env.VIDEO_STUDIO_PROXY_URL || "https://video-gen-proxy.vercel.app";
  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 40
    if (TOKEN) return TOKEN;   try {     const res = await fetch(`${PROXY_BASE}/api/token`, {
  • Network accessline 40
    if (TOKEN) return TOKEN;   try {     const res = await fetch(`${PROXY_BASE}/api/token`, {
  • Network accessline 41
    try {     const res = await fetch(`${PROXY_BASE}/api/token`, {       method: "POST",
  • Network accessline 41
    try {     const res = await fetch(`${PROXY_BASE}/api/token`, {       method: "POST",
  • Network accessline 42
    const res = await fetch(`${PROXY_BASE}/api/token`, {
  • Network accessline 42
    const res = await fetch(`${PROXY_BASE}/api/token`, {
  • Network accessline 55
    async function listModels() {   try {     const res = await fetch(`${PROXY_BASE}/api/generate`);
  • Network accessline 55
    async function listModels() {   try {     const res = await fetch(`${PROXY_BASE}/api/generate`);
  • Network accessline 56
    try {     const res = await fetch(`${PROXY_BASE}/api/generate`);     const data = await res.json().catch(() => ({}));
  • Network accessline 56
    try {     const res = await fetch(`${PROXY_BASE}/api/generate`);     const data = await res.json().catch(() => ({}));
  • Network accessline 57
    const res = await fetch(`${PROXY_BASE}/api/generate`);
  • Network accessline 57
    const res = await fetch(`${PROXY_BASE}/api/generate`);
  • Network accessline 81
    const url = new URL("/api/status", PROXY_BASE);     url.searchParams.set("jobId", jobId);     const res = await fetch(url.toString(), { headers });
  • Network accessline 81
    const url = new URL("/api/status", PROXY_BASE);     url.searchParams.set("jobId", jobId);     const res = await fetch(url.toString(), { headers });
  • Network accessline 82
    url.searchParams.set("jobId", jobId);     const res = await fetch(url.toString(), { headers });     const data = await res.json().catch(() => ({}));
  • Network accessline 82
    url.searchParams.set("jobId", jobId);     const res = await fetch(url.toString(), { headers });     const data = await res.json().catch(() => ({}));
  • Network accessline 83
    const res = await fetch(url.toString(), { headers });
  • Network accessline 83
    const res = await fetch(url.toString(), { headers });
  • Network accessline 126
    try {     const res = await fetch(`${PROXY_BASE}/api/generate`, {
  • Network accessline 126
    try {     const res = await fetch(`${PROXY_BASE}/api/generate`, {
  • Network accessline 127
    const res = await fetch(`${PROXY_BASE}/api/generate`, {
  • Network accessline 127
    const res = await fetch(`${PROXY_BASE}/api/generate`, {

skills/youtube-short-maker/README.md

  • Network accessline 10
    npx skills add https://github.com/pexoai/pexo-skills --skill youtube-short-maker
  • Network accessline 18
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 22
    Get an API key at <https://pexo.ai>.

skills/youtube-short-maker/SKILL.md

  • Network accessline 7
    "make a youtube short", "shorts video", "short-form video". NOT for long-form or landscape   video. homepage: https://pexo.ai
  • Network accessline 8
    video. homepage: https://pexo.ai repository: https://github.com/pexoai/pexo-skills
  • Network accessline 9
    homepage: https://pexo.ai
  • Network accessline 10
    repository: https://github.com/pexoai/pexo-skills
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 21
    **Pexo:** https://pexo.ai — get an API key, watch your project render, and buy credits there.
  • Network accessline 38
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Network accessline 52
    3. **Send the request:** `pexo-chat.sh <project_id> "<user's exact words> <asset tags>"`.    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<pro
  • Network accessline 53
    Copy the user's words exactly; only add asset tags. 4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`. 5. **Poll:** every ≥60s run `pexo-project-get.sh <project_id>` and act on `nextAct
  • Network accessline 54
    4. **Tell the user** (their language): submitted ✓ · ~15–20 min · `https://pexo.ai/project/<project_id>`.
  • Network accessline 68
    - 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; a
  • Network accessline 69
    - **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.
  • Network accessline 70
    link + `https://pexo.ai/connect/openclaw`) it's running long; ask whether to keep waiting or
  • Network accessline 81
    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`
  • Network accessline 82
    purchase link, pass it to the user; otherwise tell them to add credits at `https://pexo.ai/home`
  • Network accessline 90
    pid=$(pexo-project-create.sh "better sleep tips short") pexo-chat.sh "$pid" "Make a YouTube Short on 3 quick tips for better sleep." # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid
  • Network accessline 91
    pexo-chat.sh "$pid" "Make a YouTube Short on 3 quick tips for better sleep." # 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.
  • Network accessline 92
    # Tell the user: submitted, ~15–20 min, https://pexo.ai/project/$pid

skills/youtube-short-maker/references/SETUP-CHECKLIST.md

  • Network accessline 10
    mkdir -p ~/.pexo cat > ~/.pexo/config << 'EOF' PEXO_BASE_URL="https://pexo.ai"
  • Network accessline 11
    [Credential-related source omitted]
  • Network accessline 12
    PEXO_BASE_URL="https://pexo.ai"
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 17
    Get your API key at: https://pexo.ai
  • Network accessline 19
    - If you do not have an account:   Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Network accessline 20
    Go to https://pexo.ai and sign up. During registration, you will be asked for an invite code.
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 61
    Your API key may be expired or incorrect. Log in at https://pexo.ai to generate a new one. Replace the value in `~/.pexo/config`.
  • Network accessline 68
    # macOS (file is usually preinstalled) brew install curl jq
  • Network accessline 69
    brew install curl jq
  • Network accessline 71
    # Ubuntu/Debian apt-get install -y curl jq file
  • Network accessline 72
    apt-get install -y curl jq file
  • Network accessline 74
    # CentOS/RHEL yum install -y curl jq file
  • Network accessline 75
    yum install -y curl jq file
  • Network accessline 80
    If `pexo-doctor.sh` reports a connectivity issue: - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Network accessline 81
    - Check if your server can reach `pexo.ai` (e.g. `curl -I https://pexo.ai`)
  • Access to secretsline 92
    [Credential-related source omitted]

skills/youtube-short-maker/references/TROUBLESHOOTING.md

  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 25
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 26
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 203
    Credits balance: 0 — your account has no available credits. To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 204
    To purchase credits: visit https://pexo.ai/home → click Credits (top-right) → Buy Credits → Extra Credits
  • Network accessline 209
    - Explain to the user that they have run out of credits. - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 210
    - Guide them to purchase credits: visit https://pexo.ai/home, click Credits in the top-right corner → Buy Credits, then find Extra Credits.
  • Network accessline 239
    1. Tell the user the account has no available credits for this chat request. 2. Direct them to top up credits at `https://pexo.ai/home`.
  • Network accessline 240
    2. Direct them to top up credits at `https://pexo.ai/home`.
  • Access to secretsline 288
    [Credential-related source omitted]

skills/youtube-short-maker/scripts/_common.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Network accessline 93
    if [[ "$http_code" == "0" && -n "$transport_error" ]]; then     jq -nc \
  • Network accessline 94
    jq -nc \
  • Network accessline 147
    jq -nc \
  • Network accessline 227
    if [[ -n "$body" ]]; then     http_code=$(curl -sS \
  • Network accessline 228
    http_code=$(curl -sS \
  • Network accessline 239
    "${PEXO_BASE_URL}${path}" 2>"$err_file") || curl_status=$?   else     http_code=$(curl -sS \
  • Network accessline 240
    else     http_code=$(curl -sS \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 241
    http_code=$(curl -sS \
  • Dangerous shell operationline 259
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 265
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 270
    rm -f "$body_file" "$header_file" "$err_file"
  • Network accessline 277
    local _saved_code="${PEXO_LAST_HTTP_CODE:-0}"   local entitlements available   local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 279
    local topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 333
    set +o pipefail   if [[ -n "$body" ]]; then     curl -sS -N \
  • Network accessline 334
    if [[ -n "$body" ]]; then     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 335
    curl -sS -N \
  • Network accessline 344
    "${PEXO_BASE_URL}${path}" >"$body_file" 2>"$err_file"   else     curl -sS -N \
  • Network accessline 345
    else     curl -sS -N \       --connect-timeout "$_PEXO_CONNECT_TIMEOUT" \
  • Network accessline 346
    curl -sS -N \
  • Dangerous shell operationline 365
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 373
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 378
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 384
    rm -f "$body_file" "$header_file" "$err_file"
  • Dangerous shell operationline 389
    rm -f "$body_file" "$header_file" "$err_file"

skills/youtube-short-maker/scripts/pexo-asset-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 65
    http_code=$(curl -sS -L \
  • Dangerous shell operationline 74
    rm -f "$part_path" "$err_file"
  • Dangerous shell operationline 80
    rm -f "$part_path"
  • Dangerous shell operationline 81
    rm -f "$err_file"
  • Dangerous shell operationline 86
    rm -f "$err_file"

skills/youtube-short-maker/scripts/pexo-chat.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 129
    if [[ -n "$choice" ]]; then   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 130
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" --arg ch "$choice" \
  • Network accessline 131
    '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}, choices:{preview_id:$ch}}') else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 132
    else   body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \     '{project_id:$pid, timestamp:$ts, user_visible:true, native_inputs:{text:$msg}}')
  • Network accessline 133
    body=$(jq -nc --arg pid "$pid" --arg msg "$msg" --arg ts "$ts" \
  • Network accessline 144
    jq -nc \

skills/youtube-short-maker/scripts/pexo-doctor.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 79
    echo "  Create it with:"   echo '  mkdir -p ~/.pexo && cat > ~/.pexo/config << EOF'   echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Network accessline 80
    [Credential-related source omitted]
  • Network accessline 81
    echo '  PEXO_BASE_URL="https://pexo.ai"'
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Network accessline 102
    else   echo "$FAIL PEXO_API_KEY is not set"   echo "  Get your API key at: https://pexo.ai"
  • Network accessline 103
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 104
    echo "  Get your API key at: https://pexo.ai"
  • Network accessline 109
    echo "" for cmd in curl jq file; do
  • Network accessline 110
    for cmd in curl jq file; do
  • Network accessline 126
    echo "" if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Network accessline 127
    if [[ -n "${PEXO_BASE_URL:-}" ]]; then   http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")   if [[ "$http_code" != "000" ]]; then
  • Network accessline 128
    http_code=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 "${PEXO_BASE_URL}" 2>/dev/null || echo "000")
  • Access to secretsline 142
    [Credential-related source omitted]
  • Network accessline 143
    tmp_body=$(mktemp)   tmp_err=$(mktemp)   http_code=$(curl -sS \
  • Network accessline 144
    tmp_err=$(mktemp)   http_code=$(curl -sS \     --connect-timeout 10 \
  • Network accessline 145
    [Credential-related source omitted]
  • Access to secretsline 145
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Dangerous shell operationline 154
    rm -f "$tmp_body" "$tmp_err"
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 162
    echo "$FAIL API key is invalid or expired (HTTP 401)"       echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"
  • Network accessline 163
    echo "  Message: $message"       echo "  Get a new key at: https://pexo.ai"       errors=$((errors + 1))
  • Network accessline 164
    echo "  Get a new key at: https://pexo.ai"
  • Network accessline 179
    elif [[ "$http_code" == "000" ]]; then     echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"
  • Network accessline 180
    echo "$FAIL API validation request failed before receiving a response"     echo "  Curl error: ${curl_err:-unknown}"     errors=$((errors + 1))
  • Network accessline 181
    echo "  Curl error: ${curl_err:-unknown}"

skills/youtube-short-maker/scripts/pexo-entitlements.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 49
    topup_url="${PEXO_BASE_URL:-https://pexo.ai}/home"
  • Network accessline 60
    { [[ "$available" =~ ^[0-9]+$ ]] && [[ "$available" -le 0 ]]; }; }; then   printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extr
  • Network accessline 61
    printf '\nCredits balance: 0 — your account has no available credits.\n' >&2   printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2 fi
  • Network accessline 62
    printf 'To purchase credits: visit %s → click Credits (top-right) → Buy Credits → Extra Credits\n' "$topup_url" >&2

skills/youtube-short-maker/scripts/pexo-project-create.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 71
    body=$(jq -nc --arg n "$project_name" '{project_name: $n}')

skills/youtube-short-maker/scripts/pexo-project-get.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/youtube-short-maker/scripts/pexo-project-list.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

skills/youtube-short-maker/scripts/pexo-upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 83
    http_code=$(curl -sS -X PUT -H "Content-Type: $mime_type" \
  • Network accessline 89
    finalize_body=$(jq -nc \

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 2 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/ai-video-generation/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/ai-video-generation/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/ai-video-generation/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/ai-video-generation/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/ai-video-generation/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.