reelwords-captions
Generate captions for short-form videos using the ReelWords (reelwords.ai) Caption API. Use when a user asks to create caption jobs, render stylized subtitles for Reels/TikTok/Shorts, poll caption-job status, or download the rendered captioned video via the ReelWords REST API endpoints (/api/v1/caption-jobs) using an x-api-key (rw_...).
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/kmasterrr/video-captions-reelwordsReelWords Captions
Generate stylized captions for videos using the ReelWords Caption API: create a caption render job, poll until complete, then download the rendered output.
Setup
1) Create a ReelWords account + API key
- Sign up / log in: https://reelwords.ai
- Open the account menu (top-right) → API Keys → New key
- Copy the key (it will look like
rw_...).
2) Provide the API key to OpenClaw
Provide the API key to the process as REELWORDS_API_KEY.
Common options:
- Set
REELWORDS_API_KEYas an environment variable (best when running the script directly) - If you run via OpenClaw/Clawdbot, store it in
~/.clawdbot/openclaw.jsonunderskills.entries.reelwords-captions.envso the runtime can populate env vars for the skill.
Option A: environment variable
export REELWORDS_API_KEY="rw_..."
Option B: openclaw.json (recommended)
Edit ~/.clawdbot/openclaw.json and add an entry:
{
"skills": {
"entries": {
"reelwords-captions": {
"enabled": true,
"env": {
"REELWORDS_API_KEY": "rw_..."
}
}
}
}
}
Security note
Treat your API key like a password:
- don’t commit it to git
- don’t paste it into public chats
- rotate it in ReelWords if you suspect it leaked
Usage
Base URL: https://api.reelwords.ai
You can use either the included helper script (simplest), or call the REST endpoints directly.
Option 1: All-in-one helper script (create → poll → download)
From this skill directory:
python3 scripts/reelwords_caption_job.py \
--video-url "https://cdn.reelwords.ai/sample.mp4" \
--style-id "style1" \
--add-emojis \
--max-words-per-line 6 \
--position-y 82 \
--font-size 54 \
--highlight-color "#FFD803" \
--hook-color "#FF5CAA" \
--out captioned.mp4
Notes:
- The script prints the final job JSON to stdout.
- Download logic:
- prefers
result.downloadUrlwhen present - otherwise falls back to
GET /api/v1/caption-jobs/{id}/video(which typically redirects to a signed URL)
- prefers
Option 2: Raw API examples (curl)
1) Create job
curl -sS https://api.reelwords.ai/api/v1/caption-jobs \
-H "x-api-key: $REELWORDS_API_KEY" \
-H "content-type: application/json" \
-d '{
"videoUrl": "https://cdn.reelwords.ai/sample.mp4",
"preferences": {
"style": {
"styleId": "style1"
}
}
}'
Response includes an id (save it as $JOB_ID).
2) Poll status
curl -sS https://api.reelwords.ai/api/v1/caption-jobs/$JOB_ID \
-H "x-api-key: $REELWORDS_API_KEY" \
-H "accept: application/json"
Poll until status becomes completed (or the response includes failureReason/failureMessage).
3) Download rendered video
Preferred (when present):
- download from
result.downloadUrl
Fallback (works in most tenants):
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-kmasterrr-video-captions-reelwords": {
"enabled": true,
"auto_update": true
}
}
}