agentsclimarketplace

Video enhancement

Skill verging-ai/agent-skills/skills/video-enhancement

Collection of VergingAI Agent Skills

Install
npx -y skills add verging-ai/agent-skills --skill video-enhancement

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

AI Video Enhancement - Upscale video resolution, denoise, sharpen. Supports local files and YouTube/Bilibili URLs. HD/4K upscaling with real-time progress.

SKILL.md

4.7 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

video-enhancement - AI Video Enhancement

Upscale and enhance video quality using AI via verging.ai.

Command Format

/video-enhancement --video <video file or URL> [options]

Options

OptionShortDescriptionDefault
--video-vVideo file path or URL (YouTube/Bilibili)Required
--start-sStart time in seconds0
--end-eEnd time in secondsVideo end (max 30s)
--hdHD upscaling (5 credits/sec)false (3 credits/sec)
--api-key-kAPI Key$VERGING_API_KEY
--output-oSave path for resultCurrent directory
--download-dAuto download resultfalse

Authentication

Recommended: Authorization: ApiKey <your_key>

# ✅ Recommended (canonical form)
curl -H "Authorization: ApiKey vrg_sk_your_key_here" https://verging.ai/api/v1/auth/me

# ✅ Also works (Bearer with API key is supported)
curl -H "Authorization: Bearer vrg_sk_your_key_here" https://verging.ai/api/v1/auth/me

Get your API key: https://verging.ai → Login → Avatar → API Keys

API Reference (Exact Formats)

1. Check Credits

curl -H "Authorization: ApiKey $VERGING_API_KEY" \
  https://verging.ai/api/v1/auth/me

Response: {"email":"...","name":"...","credits":100}

2. Get Upload URL (Form Data - NOT JSON)

# ⚠️ MUST use -F (multipart form-data)
curl -X POST https://verging.ai/api/v1/upload-video \
  -H "Authorization: ApiKey $VERGING_API_KEY" \
  -F "video_file_name=video.mp4" \
  -F "job_type=video-enhance"

Response:

{
  "code": 100000,
  "result": {
    "url": "https://...presigned-url...",
    "public_url": "https://img.panpan8.com/video-enhance/..."
  }
}

3. Upload Video to R2

curl -X PUT -T /tmp/verging-video-enhancement/trimmed.mp4 \
  -H "Content-Type: video/mp4" \
  "<presigned_url_from_step_2>"

4. Create Enhancement Job (Form Data)

# ⚠️ Uses -F (form-data), NOT JSON
curl -X POST https://verging.ai/api/v1/video_enhance/create-job \
  -H "Authorization: ApiKey $VERGING_API_KEY" \
  -F "target_video_url=<public_url_from_step_2>" \
  -F "file_name=video.mp4" \
  -F "user_video_duration=30" \
  -F "job_type=video-enhance" \
  -F "is_hd=false"

Response: {"code":10000,"result":{"job_id":"123"},"message":{"en":"Request Success","zh":"提交任务成功"}}

5. Poll Job Status

curl -H "Authorization: ApiKey $VERGING_API_KEY" \
  "https://verging.ai/api/v1/jobs/list-jobs?job_ids=<job_id>"

Response: [{"id":123,"job_type":"video-enhance","status":"COMPLETED","progress":100,"result_url":"https://...","created_at":"...","updated_at":"..."}]

Status values: PENDINGPROCESSINGCOMPLETED (or FAILED)

Execution Flow (Follow Exactly)

  1. Parse args → extract video path/URL, options
  2. Download remote video (if URL): yt-dlp "URL" -o /tmp/verging-video-enhancement/input.mp4
  3. Get durationffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 video.mp4
  4. Trim if needed (--start/--end or duration > 30s):
    ffmpeg -i input.mp4 -ss <start> -to <end> -c:v libx264 -c:a aac /tmp/verging-video-enhancement/trimmed.mp4
    
  5. Check credits → GET /api/v1/auth/me (need duration × 3 normal or ×5 HD)
  6. Upload video → POST /upload-video (Form Data) → PUT to presigned URL
  7. Create job → POST /video_enhance/create-job (Form Data)
  8. Poll status → GET /jobs/list-jobs?job_ids=X every 5 seconds until COMPLETED
  9. Return/download result → show result_url, optionally curl download

Critical Notes

  • Use Authorization: ApiKey <key> (recommended)Bearer <key> also works
  • /upload-video uses Form Data (-F) — NOT JSON
  • /video_enhance/create-job uses Form Data (-F) — NOT JSON, no file upload needed
  • Max video duration: 30 seconds — trim longer videos first
  • Temp directory: /tmp/verging-video-enhancement/
  • If yt-dlp unavailable, ask user to download video manually

Credit Consumption

ModeCost
Normal3 credits/second
HD5 credits/second

Privacy & Security

  • Set key via env: export VERGING_API_KEY="your_key"
  • Never expose API key in public repos
  • Only process media you have rights to
  • Temp files cleaned up after use

What ships with it: 1 file

1.4 KB alongside SKILL.md

Gives 0 of the 12 instructions most video audio skills give in ~1.3k tokens

Counted across 622 of the 795 authors here whose files we hold, read 2026-08-07

  • Read individual rule files for detailed explanationsin 21 of 622, across 10 files
  • Render final videoin 13 of 622, across 6 files
  • Use WAV PCM 16kHz mono audio formatin 12 of 622, across 3 files
  • Use this skill when dealing with Remotion codein 11 of 622, across 4 files
  • Save generated audio to a WAV filein 11 of 622, across 4 files
  • Handle conversion errors gracefullyin 10 of 622, across 6 files
  • Add captions to videos alwaysin 10 of 622, across 4 files
  • Generate music from text descriptions using MusicGenin 9 of 622, across 2 files
  • Do not skip pipeline layersin 9 of 622, across 3 files
  • Do not make one tool do everythingin 9 of 622, across 3 files
  • Use Azure Document Intelligence for complex PDFsin 9 of 622, across 4 files
  • Never ask the user to paste their full API keyin 9 of 622, across 3 files

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.