Cloud GPU processing via RunPod serverless. Use when setting up RunPod endpoints, deploying Docker images, managing GPU resources, troubleshooting endpoint issues, or understanding costs. Covers all 5
1---2name: runpod3description: Cloud GPU processing via RunPod serverless. Use when setting up RunPod endpoints, deploying Docker images…4---56# .claude/skills/runpod/SKILL.md
R
SKILL.mdAgent skill
Transport
File
Status
Listed
SKILL.md
Install
The skill file stays in the publisher's repository.
Paste the copied command in a terminal. It installs this SKILL.md into that agent.
shterminal
1npx skills add digitalsamba/claude-code-video-toolkit --skill runpod -a cursor -y
Paste the copied command in a terminal. It installs this SKILL.md into that agent.
Download .claude/skills/runpod/SKILL.md from the publisher, or copy the path and open the repository. PlugMCP lists the skill and does not host the file.
Where does runpod live?
The publisher keeps it at https://github.com/digitalsamba/claude-code-video-toolkit.
Which agents can use runpod?
Claude, Cursor, Codex, and Grok Build can read a SKILL.md you add from the publisher's repository. Grok Bot installs it when you send the skill's GitHub folder link in a chat.
From the publisher
SKILL.md
name
runpod
description
Cloud GPU processing via RunPod serverless. Use when setting up RunPod endpoints, deploying Docker images, managing GPU resources, troubleshooting endpoint issues, or understanding costs. Covers all 5 toolkit images (qwen-edit, realesrgan, propainter, sadtalker, qwen3-tts).
RunPod Cloud GPU
Run open-source AI models on cloud GPUs via RunPod serverless. Pay-per-second, no minimums.
Setup
# 1. Create account at https://runpod.io
# 2. Add API key to .env
echo "RUNPOD_API_KEY=your_key_here" >> .env
# 3. Deploy any tool with --setup
uv run tools/image_edit.py --setup
uv run tools/upscale.py --setup
uv run tools/dewatermark.py --setup
uv run tools/sadtalker.py --setup
uv run tools/qwen3_tts.py --setup
Each --setup command:
Creates a RunPod template from the Docker image
Creates a serverless endpoint with appropriate GPU
Saves the endpoint ID to .env (e.g. RUNPOD_QWEN_EDIT_ENDPOINT_ID)
Available Images
All images are public on GHCR — no authentication needed.
Total monthly cost: Rarely exceeds $10 even with heavy use.
How It Works
All tools follow the same pattern:
Local CLI → Upload input to cloud storage → RunPod API → Poll for result → Download output
File transfer: Tools use Cloudflare R2 when configured (R2_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_BUCKET_NAME), falling back to free upload services
RunPod API: Tools call the /run endpoint, then poll /status/{job_id} until complete
Cold vs warm start: First request after idle spins up a worker (~30-90s). Subsequent requests are fast (~5-15s)
Endpoint Management
Workers
workersMin: 0 — Scale to zero when idle (no cost)
workersMax: 1 — Max concurrent jobs (increase for throughput)
idleTimeout: 5 — Seconds before worker scales down
Across all endpoints, you share a total worker pool based on your RunPod plan. If you hit limits, reduce workersMax on endpoints you're not actively using.
Checking Endpoint Status
Each tool stores its endpoint ID in .env:
Tool
Env Var
image_edit
RUNPOD_QWEN_EDIT_ENDPOINT_ID
upscale
RUNPOD_UPSCALE_ENDPOINT_ID
dewatermark
RUNPOD_DEWATERMARK_ENDPOINT_ID
sadtalker
RUNPOD_SADTALKER_ENDPOINT_ID
qwen3_tts
RUNPOD_QWEN3_TTS_ENDPOINT_ID
Disabling an Endpoint
To free worker slots without deleting the endpoint, set workersMax=0 via the RunPod dashboard or GraphQL API.
RunPod API Reference
Use these to query and manage endpoints programmatically. RunPod disables GraphQL introspection, so these field names are verified and must be exact.
Authentication
All API calls require Authorization: Bearer $RUNPOD_API_KEY.
query { myself { pods { id name runtime { uptimeInSeconds } machine { gpuDisplayName } desiredStatus } } }
Common mistakes: Field names are camelCase with full words — localStoragePerHour not localStoragePerHr. Endpoints are endpoints not serverlessWorkers. spending is not a field — use currentSpendPerHr and spendDetails.
Note:/requests only returns pending/queued jobs. Completed job history is not available via the API — check the RunPod web console for logs.
GPU Type IDs
ID
GPU
VRAM
Typical Cost
AMPERE_24
RTX 3090
24GB
~$0.34/hr
ADA_24
RTX 4090
24GB
~$0.69/hr
AMPERE_48
A6000
48GB
~$0.76/hr
AMPERE_80
A100
80GB
~$1.99/hr
Availability note:ADA_24 (4090) is frequently throttled/unavailable on RunPod. Always configure endpoints with multiple fallback GPU types (comma-separated) to avoid jobs getting stuck in queue indefinitely:
gpuIds: "AMPERE_24,ADA_24" # Try 3090 first, fall back to 4090
All toolkit tools also enforce a 5-minute queue timeout — if no GPU is available within 300 seconds, the job is automatically cancelled to prevent runaway billing from failed initialization cycles.
Cloudflare R2 via AWS CLI
R2 uses the S3-compatible API but requires --region auto:
GHCR packages default to private — you must manually make them public for RunPod to pull them. Go to GitHub > Packages > Package Settings > Change Visibility.
Cost Optimization
Keep workersMin: 0 on all endpoints (scale to zero)
Only deploy endpoints you actively need
Use workersMax=0 to disable idle endpoints without deleting them
Qwen3-TTS is significantly cheaper than ElevenLabs for voiceovers