Skills faceswap
🎭

faceswap

Medium Risk ⚙️ External commands🌐 Network access🔑 Env variables📁 Filesystem access

Swap Faces in Videos with AI

Swapping faces in videos manually is slow and requires specialized software. This skill automates the entire workflow using the verging.ai API, accepting local files or YouTube/Bilibili URLs as input and delivering the result directly.

Supports: Claude Codex Code(CC)
⚠️ 61 Poor
1

Download the skill ZIP

2

Upload in Claude

Go to Settings → Capabilities → Skills → Upload skill

3

Toggle on and start using

Test it

Using "faceswap". Run /faceswap with video ./video.mp4 and face ./face.jpg

Expected outcome:

  • Checking video duration: 22 seconds
  • Credits needed: 22 (normal mode)
  • Uploading video to cloud storage...
  • Job created: job_id=295
  • Progress: 25%... 50%... 75%... 100%
  • Result: https://img.panpan8.com/face-swap/2026-05-31/result.mp4

Using "faceswap". Swap the face in a YouTube clip from 10-25 seconds in HD mode

Expected outcome:

  • Downloading video from YouTube...
  • Trimming to 10-25 seconds...
  • Uploading trimmed video (15 seconds, HD = 45 credits)...
  • Job created: job_id=296
  • Status: COMPLETED after 45 seconds
  • Result downloaded to: ./result_hd.mp4

Security Audit

Medium Risk
v3 • 6/8/2026

The skill is a documentation/instruction file (no executable code) that guides an AI assistant to run shell commands (yt-dlp, ffmpeg, curl) and make API calls to verging.ai. All 82 static findings are false positives in context: backtick patterns are markdown code examples, URLs are legitimate API endpoints, API key references are standard authentication documentation, and temp directory access is standard media processing. The combination of network + credentials + external commands is expected for this use case. No malicious intent detected. Risk level is medium due to the breadth of system access required.

2
Files scanned
225
Lines analyzed
9
findings
3
Total audits
Medium Risk Issues (1)
Broad system access required
The skill requires yt-dlp, ffmpeg, ffprobe, and curl binaries plus the VERGING_API_KEY environment variable. While all usages are documented and legitimate for face-swap workflows, the combination of network access, external command execution, credential handling, and filesystem write access represents a significant attack surface if the skill were modified maliciously. This is a known characteristic of media-processing skills, not a current vulnerability.
Low Risk Issues (4)
Temp directory usage in /tmp
The skill uses /tmp/verging-faceswap/ for intermediate video and image files. This is standard practice for media processing but files may persist if not cleaned up. The documentation recommends cleanup. Low risk.
Static analyzer false positives: backtick patterns
The static scanner flagged 44 instances of 'Ruby/shell backtick execution' in markdown files. These are all code-block examples in documentation showing curl, ffmpeg, and yt-dlp commands. They are not executable code in the skill itself. False positive.
Static analyzer false positives: hardcoded URLs
17 URL references flagged as suspicious are all legitimate API endpoints (verging.ai/api/v1/*) and documentation links. False positive.
Static analyzer false positives: weak cryptography
The 'weak cryptographic algorithm' findings at SKILL.md:3 and SKILL.md:33 are likely false positives triggered by the term 'key' in API key context or video codec references (libx264). No actual cryptographic operations are performed by the skill.
Audited by: claude View Audit History →

Quality Score

38
Architecture
100
Maintainability
87
Content
22
Community
52
Security
91
Spec Compliance

What You Can Build

Content creator quick edits

Swap a face in a short clip for social media content without opening a video editor.

YouTube video face replacement

Provide a YouTube URL and a face image, and get the swapped result automatically downloaded.

Batch face-swap automation

Use the CLI command repeatedly with different inputs to process multiple videos in sequence.

Try These Prompts

Basic local file swap
Run /faceswap with video ./video.mp4 and face image ./face.jpg to swap the face.
YouTube URL with trimming
Run /faceswap with video https://youtube.com/watch?v=xxx, face https://example.com/face.jpg, trimming from 10 to 25 seconds in HD mode and auto-downloading the result.
Remote face image with custom output
Run /faceswap with video ./input.mp4, a remote face image URL, and save the output to /tmp/result.mp4.
Full pipeline with credit check
First check my verging.ai credit balance, then run /faceswap with the provided video and face URL, trim to 15 seconds, use HD mode, and download the result.

Best Practices

  • Set the VERGING_API_KEY environment variable before running the skill to avoid passing the key in commands
  • Trim videos to the shortest needed segment to minimize credit consumption
  • Use normal mode for previews and HD mode only for final output to save credits
  • Clean up /tmp/verging-faceswap/ after processing to avoid leaving media files on disk

Avoid

  • Do not pass the API key directly in the command line where it may appear in shell history or process listings
  • Do not use JSON body (-d) for the upload-video endpoint; it requires multipart form data (-F)
  • Do not attempt to upload the face image separately via /upload-video; the create-job endpoint accepts it directly as swap_image=@path

Frequently Asked Questions

What is the maximum video length supported?
30 seconds. Videos longer than 30 seconds are automatically trimmed.
How do I get a verging.ai API key?
Visit verging.ai, log in, click your avatar in the top right, and go to API Keys to create one.
What external tools are required?
yt-dlp for downloading videos, ffmpeg and ffprobe for trimming, and curl for API requests.
How much does a face swap cost?
Normal mode costs 1 credit per second. HD mode costs 3 credits per second.
Can I use YouTube and Bilibili URLs?
Yes, the skill supports YouTube and Bilibili video URLs through yt-dlp.
Where are temporary files stored?
Intermediate files are stored in /tmp/verging-faceswap/ and should be cleaned up after use.

Developer Details

File structure

📄 README.md

📄 SKILL.md