Cloud GPU processing via RunPod serverless. An agent skill from digitalsamba/claude-code-video-toolkit.

MITAuto-check: notesBackend & APIs

Install Runpod

skills CLI
$ npx skills add digitalsamba/claude-code-video-toolkit --skill runpod -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install digitalsamba/claude-code-video-toolkit runpod --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/digitalsamba/claude-code-video-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/runpod .claude/skills/runpod && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
runpod
GitHub stars
2.2k
Token cost
~2.1k tokens
SKILL.md length
734 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Cloud GPU processing via RunPod serverless. An agent skill from digitalsamba/claude-code-video-toolkit.

  • Works in 3 steps: Creates a RunPod template from the… → Creates a serverless endpoint with… → Saves the endpoint ID to .env (e.g.…
  • Setting up RunPod endpoints
  • SKILL.md covers Setup, Available Images, How It Works and Endpoint Management, plus 4 more sections
  • Calls uv, docker and aws; reaches api.runpod.io and api.runpod.ai; needs R2_ACCESS_KEY_ID and R2_SECRET_ACCESS_KEY

What it does

Runpod is an agent skill from digitalsamba/claude-code-video-toolkit. 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).

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Text to speech and voice, Serverless and Containers. It works with Qwen, Docker and Cloudflare R2. The repository describes itself as: AI-native video production toolkit for Claude Code. The licence is MIT.

When your agent uses it

  • Setting up RunPod endpoints
  • Deploying Docker images
  • Managing GPU resources
  • Troubleshooting endpoint issues

Example prompts

  • “/runpod”

Requirements

  • Docker
  • A credential in RUNPOD_API_KEY
  • A credential in R2_SECRET_ACCESS_KEY

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Creates a RunPod template from the Docker image
  2. Creates a serverless endpoint with appropriate GPU
  3. Saves the endpoint ID to .env (e.g. RUNPOD_QWEN_EDIT_ENDPOINT_ID)

What it can do on your machine

Read from SKILL.md and the folder at commit 2c99460. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv
    • docker
    • aws

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.runpod.io
    • api.runpod.ai
    • runpod.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • R2_ACCESS_KEY_ID
    • R2_SECRET_ACCESS_KEY
    • RUNPOD_API_KEY
    • AWS_ACCESS_KEY_ID
    • AWS_SECRET_ACCESS_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Runpod loads about 2.1k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 734 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:14
    # 2. Add API key to .env
  • NoteMentions a .env fileSKILL.md:15
    echo "RUNPOD_API_KEY=your_key_here" >> .env
  • NoteMentions a .env fileSKILL.md:28
    3. Saves the endpoint ID to `.env` (e.g. `RUNPOD_QWEN_EDIT_ENDPOINT_ID`)
  • NoteMentions a .env fileSKILL.md:70
    Each tool stores its endpoint ID in `.env`:

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from digitalsamba/claude-code-video-toolkit at commit 2c99460, republished under its MIT licence (© digitalsamba). 734 words, ~2,085 tokens.

Download SKILL.mdSave it as .claude/skills/runpod/SKILL.md (or your agent's skills folder).
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

bash
# 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:

  1. Creates a RunPod template from the Docker image
  2. Creates a serverless endpoint with appropriate GPU
  3. Saves the endpoint ID to .env (e.g. RUNPOD_QWEN_EDIT_ENDPOINT_ID)

Available Images

All images are public on GHCR — no authentication needed.

ToolDocker ImageGPUVRAMTypical Cost
image_editghcr.io/conalmullan/video-toolkit-qwen-edit:latestA6000/L40S48GB+~$0.05-0.15/job
upscaleghcr.io/conalmullan/video-toolkit-realesrgan:latestRTX 3090/409024GB~$0.01-0.05/job
dewatermarkghcr.io/conalmullan/video-toolkit-propainter:latestRTX 3090/409024GB~$0.05-0.30/job
sadtalkerghcr.io/conalmullan/video-toolkit-sadtalker:latestRTX 409024GB~$0.05-0.15/job
qwen3_ttsghcr.io/conalmullan/video-toolkit-qwen3-tts:latestADA 24GB24GB~$0.01-0.05/job

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
  1. 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
  2. RunPod API: Tools call the /run endpoint, then poll /status/{job_id} until complete
  3. 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:

ToolEnv Var
image_editRUNPOD_QWEN_EDIT_ENDPOINT_ID
upscaleRUNPOD_UPSCALE_ENDPOINT_ID
dewatermarkRUNPOD_DEWATERMARK_ENDPOINT_ID
sadtalkerRUNPOD_SADTALKER_ENDPOINT_ID
qwen3_ttsRUNPOD_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.

  • GraphQL: POST https://api.runpod.io/graphql
  • REST (Serverless): https://api.runpod.ai/v2/{endpoint_id}/...
GraphQL Queries

List all endpoints:

graphql
query { myself { endpoints { id name gpuIds templateId workersMax workersMin } } }

Current spend rate:

graphql
query { myself { currentSpendPerHr spendDetails { localStoragePerHour networkStoragePerHour gpuComputePerHour } } }

List pods:

graphql
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.

GraphQL Mutations

Update endpoint GPU or config:

graphql
mutation { saveEndpoint(input: {
  id: "endpoint_id",
  name: "endpoint-name",
  templateId: "template_id",
  gpuIds: "AMPERE_24",
  workersMin: 0,
  workersMax: 1
}) { id gpuIds } }

saveEndpoint requires name and templateId even for updates — query first to get current values.

REST API (Serverless)
ActionMethodURL
Submit jobPOST/v2/{id}/run
Check statusGET/v2/{id}/status/{job_id}
Cancel jobPOST/v2/{id}/cancel/{job_id}
List pendingGET/v2/{id}/requests
Health/statsGET/v2/{id}/health

Health response includes job counts and worker state:

json
{
  "jobs": { "completed": 16, "failed": 1, "inProgress": 0, "inQueue": 2, "retried": 0 },
  "workers": { "idle": 0, "initializing": 1, "ready": 0, "running": 0, "throttled": 0 }
}

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
IDGPUVRAMTypical Cost
AMPERE_24RTX 309024GB~$0.34/hr
ADA_24RTX 409024GB~$0.69/hr
AMPERE_48A600048GB~$0.76/hr
AMPERE_80A10080GB~$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:

graphql
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.

Show full SKILL.md (265 more words)Show less
Cloudflare R2 via AWS CLI

R2 uses the S3-compatible API but requires --region auto:

bash
AWS_ACCESS_KEY_ID="$R2_ACCESS_KEY_ID" \
AWS_SECRET_ACCESS_KEY="$R2_SECRET_ACCESS_KEY" \
aws s3api list-objects-v2 \
  --bucket "$R2_BUCKET_NAME" \
  --endpoint-url "https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com" \
  --region auto

Common mistake: Omitting --region auto causes InvalidRegionName error. R2 valid regions: wnam, enam, weur, eeur, apac, oc, auto.

Troubleshooting

Force Image Pull

When you push a new Docker image version, RunPod may still use the cached old one. To force a pull:

  1. Update the template's imageName to use @sha256:DIGEST notation
  2. Wait for the worker to restart
  3. Revert to :latest tag after confirming
Cold Start Too Slow
  • qwen3-tts: ~70s cold start, ~7s warm
  • sadtalker: ~60s cold start, ~10s warm
  • image_edit: ~90s cold start, ~15s warm

If cold starts are a problem, set workersMin: 1 (costs money when idle).

Job Fails with OOM

The model needs more VRAM than the GPU provides. Options:

  • Use a larger GPU tier
  • For dewatermark: reduce --resize-ratio (default 0.5 for safety)
  • For image_edit: reduce --steps
"No workers available"

You've hit your plan's concurrent worker limit. Either:

  • Wait for a running job to finish
  • Set workersMax=0 on endpoints you're not using
  • Upgrade your RunPod plan

Docker Images

All Dockerfiles live in docker/runpod-*/. Images use runpod/pytorch as the base to share layers across tools.

Building for RunPod (from Apple Silicon Mac):

bash
docker buildx build --platform linux/amd64 -t ghcr.io/conalmullan/video-toolkit-<name>:latest docker/runpod-<name>/
docker push ghcr.io/conalmullan/video-toolkit-<name>:latest

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
  • Check the RunPod dashboard for usage and billing

© digitalsamba, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/runpod of digitalsamba/claude-code-video-toolkit.

Open the folder on GitHubat commit 2c99460

Compare with similar skills

Runpod next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Runpod compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Runpod this skilldigitalsamba/claude-code-video-toolkit2.2k—~2.1kAutomated safety check: NotesMIT
CloudbaseTencentCloudBase/CloudBase-AI-Toolkit1.1k1 repos~4.7kAutomated safety check: PassMIT
GCP Cloud Rundavila7/claude-code-templates32k7 repos~1.7kAutomated safety check: PassMIT
Polylith Project ManagementDavidVujic/python-polylith553—~1.5kAutomated safety check: PassMIT
Model Deploymentmajiayu000/claude-skill-registry6661 repos~2.1kAutomated safety check: PassMIT
Vhs Demobabarot/gh-infra136—~1.2kAutomated safety check: PassMIT

Similar skills

  • Cloudbase

    TencentCloudBase/CloudBase-AI-Toolkit

    A skill your agent uses when you develop, design, build, deploy, debug, migrate, or troubleshoot CloudBase (腾讯云开发, 云开发, TCB, 微信云开发) projects — Web, 微信小程序, 小程序, uni-app, mobile (iOS, Android…

    1.1k GitHub starsUsed in 1 repo~4.7k tokens
    Backend & APIsAuto-check passed
  • GCP Cloud Run

    davila7/claude-code-templates

    Specialized skill for building production-ready serverless applications on GCP.

    32k GitHub starsUsed in 7 repos~1.7k tokens
    Backend & APIsAuto-check passed
  • Polylith Project Management

    DavidVujic/python-polylith

    Create a deployable Polylith project with poly create project — a lightweight pyproject.toml under projects/<name/ that references bricks for deployment as a Docker image, wheel, AWS Lambda, GCP…

    553 GitHub stars~1.5k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Model Deployment

    majiayu000/claude-skill-registry

    Deploy trained machine learning models as production-ready services using REST APIs, containers, serverless functions, and orchestration platforms.

    666 GitHub starsUsed in 1 repo~2.1k tokens
    Backend & APIsAuto-check passed
  • Vhs Demo

    babarot/gh-infra

    A skill your agent uses when running demo recordings, diagnosing recording failures, or regenerating GIFs from existing MP4s.

    136 GitHub stars~1.2k tokensUpdated 8 days ago
    DevOps & CloudAuto-check passed
  • Frontmcp Deployment

    agentfront/frontmcp

    A skill your agent uses when deploying, building for production, packaging, or shipping a FrontMCP server.

    146 GitHub stars~9.2k tokensUpdated today
    DevOps & CloudAuto-check: notes

More from digitalsamba/claude-code-video-toolkit

All 11 skills in this repo
  • FFmpeg for Video Production

    digitalsamba/claude-code-video-toolkit

    Command recipes for converting, resizing, compressing, trimming and extracting audio from video with FFmpeg, including settings for Remotion projects.

    2.2k GitHub starsUsed in 3 repos~3.3k tokens
    Auto-check passed
  • LTX-2.3 Video Generation

    digitalsamba/claude-code-video-toolkit

    Generates roughly five-second video clips from a text prompt or a still image with the LTX-2.3 22B model, run through a Modal endpoint by `tools/ltx2.py`.

    2.2k GitHub starsUsed in 2 repos~2.4k tokens
    Auto-check: notes
  • ElevenLabs Voiceover Generator

    digitalsamba/claude-code-video-toolkit

    Generates narration, sound effects and cloned voices through the ElevenLabs API, with model and setting choices tuned to the content's style.

    2.2k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check: notes
  • Ideogram 4 Prompt Builder

    digitalsamba/claude-code-video-toolkit

    Turns a casual image request into the structured JSON caption Ideogram 4 needs for legible on-image text, exact brand colors and controlled layout.

    2.2k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check: notes
  • Playwright Browser Demo Recording

    digitalsamba/claude-code-video-toolkit

    Records browser interactions as video with Playwright, covering viewport sizing, cursor highlighting, and converting output for Remotion.

    2.2k GitHub starsUsed in 1 repo~3.2k tokens
    Auto-check passed
  • Qwen Edit

    digitalsamba/claude-code-video-toolkit

    AI image editing prompting patterns for Qwen-Image-Edit. An agent skill from digitalsamba/claude-code-video-toolkit.

    2.2k GitHub starsUsed in 1 repo~711 tokens
    Auto-check passed

Questions about Runpod

What does Runpod do?

Cloud GPU processing via RunPod serverless. An agent skill from digitalsamba/claude-code-video-toolkit. Runpod is an agent skill from digitalsamba/claude-code-video-toolkit. Cloud GPU processing via RunPod serverless.

When should I use Runpod?

Runpod fits situations like: setting up RunPod endpoints; deploying Docker images; managing GPU resources; troubleshooting endpoint issues.

How do I install Runpod in Claude Code?

Run `npx skills add digitalsamba/claude-code-video-toolkit --skill runpod -a claude-code`. Or copy the skill folder (.claude/skills/runpod in digitalsamba/claude-code-video-toolkit) into .claude/skills/runpod in your project. Claude Code loads it when a task matches its description.

How do I install Runpod in Codex?

Run `npx skills add digitalsamba/claude-code-video-toolkit --skill runpod -a codex`. Or copy the skill folder (.claude/skills/runpod in digitalsamba/claude-code-video-toolkit) into .agents/skills/runpod in your project. Codex loads it when a task matches its description.

Can I use Runpod in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add digitalsamba/claude-code-video-toolkit --skill runpod -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/runpod, .gemini/skills/runpod, .github/skills/runpod and .opencode/skills/runpod in your project.

What does Runpod need to run?

Going by SKILL.md and its folder, Runpod needs the command-line tools its instructions call (uv, docker and aws) and credentials named R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, RUNPOD_API_KEY and AWS_ACCESS_KEY_ID. Our summary lists: Docker; A credential in RUNPOD_API_KEY; A credential in R2_SECRET_ACCESS_KEY.

Does Runpod access the network?

SKILL.md names 3 domains. In commands or code: api.runpod.io, api.runpod.ai and runpod.io; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Runpod safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Runpod use?

Runpod is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Runpod use?

About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Runpod?

Skills that share tags, products or a category with Runpod: Cloudbase (TencentCloudBase/CloudBase-AI-Toolkit, 1.1k stars), GCP Cloud Run (davila7/claude-code-templates, 32k stars), Polylith Project Management (DavidVujic/python-polylith, 553 stars) and Model Deployment (majiayu000/claude-skill-registry, 666 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Runpod?

digitalsamba (a GitHub organization) maintains it in digitalsamba/claude-code-video-toolkit, which has 2,172 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 5, 2026.

Source: digitalsamba/claude-code-video-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.