Video Enhancement
by @alouhaou
AI Video Enhancement - Upscale video resolution, improve quality, denoise, sharpen, enhance low-quality videos to HD/4K. Supports local video files, remote U...
clawhub install video-enhancementπ About This Skill
name: video-enhancement description: AI Video Enhancement - Upscale video resolution, improve quality, denoise, sharpen, enhance low-quality videos to HD/4K. Supports local video files, remote URLs (YouTube, Bilibili), auto-download, real-time progress tracking. version: 1.0.1 author: verging.ai category: media user-invocable: true metadata: openclaw: requires: env: - VERGING_API_KEY bins: - yt-dlp - ffmpeg - ffprobe - curl primaryEnv: VERGING_API_KEY
video-enhancement - AI Video Enhancement
Enhance video quality using AI. Upscale resolution, denoise, sharpen, and improve low-quality videos.
Use Cases
You are a CLI assistant for AI video enhancement. Users can use you to call verging.ai's AI video enhancement functionality.
User Input Format
Users will provide commands like:
/video-enhancement --video Options
| Option | Short | Description | Default | |--------|-------|-------------|---------| | --video | -v | Target video file path or URL | Required | | --hd | -h | HD mode (higher quality enhancement) | false | | --start | -ss | Start time in seconds | 0 | | --end | -e | End time in seconds | Video duration | | --api-key | -k | Your API Key | VERGING_API_KEY env | | --output | -o | Result save path | Current directory | | --download | -d | Auto download result to local | false |
Environment Variables
| Variable | Description | |----------|-------------| | VERGING_API_KEY | Your API Key | | VERGING_API_URL | API base URL (default: https://verging.ai/api/v1) |
API Endpoints
| Endpoint | Method | Format | Purpose | |----------|--------|--------|---------| | /api/v1/auth/me | GET | - | Get user info (including credits) | | /api/v1/upload-video | POST | Form Data | Get R2 presigned upload URL | | /api/v1/video_enhance/create-job | POST | Form Data | Create video enhancement job | | /api/v1/jobs/list-jobs | GET | - | Query job status (use job_ids param) |
Authentication
All API requests require authentication via the Authorization header:
Authorization: ApiKey
β οΈ Important: There is a space between "ApiKey" and your key!
Example:
# β
Correct
Authorization: ApiKey vrg_sk_123456...β Wrong (missing space)
Authorization: ApiKeyvrg_sk_123456...
You can get your API key from https://verging.ai (Login β Click avatar β API Keys).
Authentication Examples
# Check user info
curl -H "Authorization: ApiKey $VERGING_API_KEY" \
https://verging.ai/api/v1/auth/meStep 1: Get presigned upload URL for video
curl -X POST -H "Authorization: ApiKey $VERGING_API_KEY" \
-F "video_file_name=video.mp4" \
-F "job_type=video-enhancement" \
https://verging.ai/api/v1/upload-videoThe response contains:
{
"result": {
"url": "https://...r2.cloudflarestorage.com/...mp4?X-Amz-...",
"public_url": "https://img.panpan8.com/video-enhancement/2026-03-11/xxx.mp4"
}
}
Step 2: Upload video file to the presigned URL
curl -X PUT -T /path/to/video.mp4 \
"https://...presigned-url-from-step-1..."Step 3: Create video enhancement job
curl -X POST -H "Authorization: ApiKey $VERGING_API_KEY" \
-F "target_video_url=https://img.panpan8.com/video-enhancement/2026-03-11/xxx.mp4" \
-F "file_name=video.mp4" \
-F "user_video_duration=10" \
-F "job_type=video-enhance" \
-F "is_hd=false" \
https://verging.ai/api/v1/video_enhance/create-jobQuery job status
curl -H "Authorization: ApiKey $VERGING_API_KEY" \
"https://verging.ai/api/v1/jobs/list-jobs?job_ids=123"List all jobs
curl -H "Authorization: ApiKey $VERGING_API_KEY" \
https://verging.ai/api/v1/jobs/list-jobs
Important:
$VERGING_API_KEY with your actual API key or set it as an environment variableAuthorization header uses format: ApiKey (not Bearer )Dependencies
This skill requires:
npx skills add lwmxiaobei/yt-dlp-skill --skill yt-dlp
- Alternative: npx skills add mapleshaw/yt-dlp-downloader-skill --skill yt-dlp-downloader
- Alternative: use yt-dlp directly if already available on the system
- If no download tool is available, prompt the user to download the video locally first
Processing Flow
When the user executes the /video-enhancement command, please follow these steps:
0. Check Dependencies
yt-dlp is available: which yt-dlp1. Parse Arguments
2. Download Remote Resources
yt-dlp "URL" -o /tmp/verging-video-enhancement/video.mp4
- If yt-dlp is not available, suggest installing the yt-dlp skill: npx skills add lwmxiaobei/yt-dlp-skill --skill yt-dlp
- If installation is not possible, ask the user to download the video locally first
3. Get Video Duration
4. Trim Video (if --start or --end specified)
ffmpeg -i input.mp4 -ss -to -c copy output.mp4
ffmpeg -i input.mp4 -ss -to -c:v libx264 -c:a aac output.mp4
5. Check User Credits
6. Upload Video to R2
/api/v1/upload-video with Form Data (video_file_name, job_type=video-enhance)public_url from response for next step7. Create Job
/api/v1/video_enhance/create-job with Form Data:target_video_url: The video public URL from step 6
- file_name: Original file name
- user_video_duration: Video duration in seconds
- job_type: "video-enhance"
- is_hd: true/false (HD mode for higher quality)8. Poll Job Status
/api/v1/jobs/list-jobs?job_ids=xxx to query status9. Return Result
Credit Consumption
| Mode | Credits/sec | |------|-------------| | Normal | 1 credit/sec | | HD | 3 credits/sec |
Supported Video Formats
Maximum video duration: 30 seconds Maximum file size: 500MB
Example Conversation
User: /video-enhancement -v ./old-video.mp4
You: 1. Parse arguments - local video, normal mode 2. Get video duration 3. Call API to get user info 4. Check credits sufficient (duration Γ 1 credit/sec) 5. Upload video to R2 6. Create video enhancement job 7. Poll for completion 8. Return result URL
User: /video-enhancement -v "https://youtube.com/watch?v=xxx" --hd --start 5 --end 15
You: 1. Parse arguments - remote video, HD mode, trim 5-15s 2. Download video using yt-dlp 3. Trim video to 10 seconds 4. Get trimmed video duration 5. Check credits sufficient (10 sec Γ 3 credits/sec = 30 credits) 6. Upload trimmed video to R2 7. Create video enhancement job with is_hd=true 8. Poll for completion 9. Return result URL
Notes
Privacy and Security
API Key
This skill requires a verging.ai API Key. Get it from: 1. Visit https://verging.ai 2. Login β Click user avatar (top right) β Select "API Keys" 3. Create a new API key
Security recommendations:
export VERGING_API_KEY="your_key"Data Handling
/tmp/verging-video-enhancement/ and cleaned up after processingLegal Notice
β‘ When to Use
βοΈ Configuration
| Option | Short | Description | Default | |--------|-------|-------------|---------| | --video | -v | Target video file path or URL | Required | | --hd | -h | HD mode (higher quality enhancement) | false | | --start | -ss | Start time in seconds | 0 | | --end | -e | End time in seconds | Video duration | | --api-key | -k | Your API Key | VERGING_API_KEY env | | --output | -o | Result save path | Current directory | | --download | -d | Auto download result to local | false |