Install
openclaw skills install video-captions-reelwordsGenerate captions for short-form videos using the ReelWords (reelwords.ai) Caption API. Use when a user asks to create caption jobs, render stylized subtitle...
openclaw skills install video-captions-reelwordsGenerate stylized captions for videos using the ReelWords Caption API: create a caption render job, poll until complete, then download the rendered output.
rw_...).Provide the API key to the process as REELWORDS_API_KEY.
Common options:
REELWORDS_API_KEY as an environment variable (best when running the script directly)~/.clawdbot/openclaw.json under skills.entries.reelwords-captions.env so the runtime can populate env vars for the skill.export REELWORDS_API_KEY="rw_..."
Edit ~/.clawdbot/openclaw.json and add an entry:
{
"skills": {
"entries": {
"reelwords-captions": {
"enabled": true,
"env": {
"REELWORDS_API_KEY": "rw_..."
}
}
}
}
}
Treat your API key like a password:
Base URL: https://api.reelwords.ai
You can use either the included helper script (simplest), or call the REST endpoints directly.
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:
result.downloadUrl when presentGET /api/v1/caption-jobs/{id}/video (which typically redirects to a signed URL)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).
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).
Preferred (when present):
result.downloadUrlFallback (works in most tenants):
curl -L https://api.reelwords.ai/api/v1/caption-jobs/$JOB_ID/video \
-H "x-api-key: $REELWORDS_API_KEY" \
-o captioned.mp4
POST /api/v1/caption-jobs
videoUrl (required)preferences.style.styleId (required)GET /api/v1/caption-jobs/{id} until:
result.downloadUrl is usually present (downloadable)failureReason / failureMessage presentresult.downloadUrl, orGET /api/v1/caption-jobs/{id}/video (redirects to a signed URL)references/api.mdx-api-key: <token>.402 as “out of credits / limit reached” and surface the response cleanly.