Video upscaler
A collection of open-source Agent Skills for content creation — images, audio, and video.
npx -y skills add wells1137/media-skills --skill video-upscalerAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing 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.
What its author says it does
Copied from the file, not written here
Intelligently upscale and enhance videos to cinematic quality using a multi-model backend (Topaz, SeedVR2).
SKILL.md
3.7 KB, as published. Nobody here has run it
Summary
The Video Upscaler skill provides professional-grade video quality enhancement by leveraging a powerful, multi-model backend. It intelligently selects the best AI model (Topaz, SeedVR2, etc.) based on the user-defined profile to achieve optimal results, transforming low-resolution or noisy footage into crisp, cinematic-quality video.
This skill abstracts away the complexity of choosing and configuring different AI upscaling models. Instead of dealing with dozens of technical parameters, the user simply chooses a high-level goal, and the skill handles the rest.
Features
- Multi-Model Backend: Dynamically routes requests to the best model for the job (Topaz, SeedVR2, etc.) via a unified API.
- Profile-Based Enhancement: Offers a range of pre-configured profiles for common use cases, from standard 2x upscaling to 4K cinematic conversion and 60 FPS frame boosting.
- Asynchronous by Design: Handles long-running video processing jobs without blocking the agent.
- Simple Interface: Requires only a video URL and a profile name to start.
How It Works
The skill operates in a simple, two-step asynchronous workflow:
-
Submit Job: The agent calls the
/upscaleendpoint with a video URL and a profile name. The service validates the request, selects the appropriate AI model, and submits the job to thefal.aibackend. It immediately returns atask_id. -
Poll for Status: The agent uses the
task_idto periodically call the/status/{task_id}endpoint. The status will bequeued,in_progress, orcompleted. Once completed, the response will contain the URL of the final, upscaled video.
Available Profiles
| Profile Name | Description |
|---|---|
standard_x2 | 2x upscale using Topaz Proteus v4. Best all-around quality for live-action footage. |
cinema_4k | Upscale to 4K (2160p) using SeedVR2. Best for cinematic content requiring temporal consistency. |
frame_boost_60fps | 2x upscale + frame interpolation to 60 FPS using Topaz Apollo v8. Best for sports and action. |
ai_video_enhance | 4x upscale using Topaz. Best for AI-generated videos that need resolution boosting. |
web_optimized | Upscale to 1080p with web-optimized H264 output. Best for social media and web publishing. |
End-to-End Example
User Request: "Enhance this video to 4K cinematic quality: [video_url]"
1. Agent -> Skill (Submit Job)
The agent identifies the user's intent and calls the /upscale endpoint with the cinema_4k profile.
curl -X POST http://<your_backend_url>/upscale \
-H "Content-Type: application/json" \
-d
"video_url": "[video_url]",
"profile": "cinema_4k"
}
Response:
{
"task_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"model_used": "fal-ai/seedvr/upscale/video",
"profile": "cinema_4k"
}
2. Agent -> Skill (Poll for Status)
The agent waits and then polls the status endpoint.
curl http://<your_backend_url>/status/a1b2c3d4-e5f6-7890-1234-567890abcdef
Response (In Progress):
{
"task_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"status": "in_progress",
"logs": ["Processing frame 100/1200..."]
}
Response (Completed):
{
"task_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
"status": "completed",
"result": {
"video_url": "https://.../upscaled_video.mp4"
}
}
3. Agent -> User
The agent delivers the final, upscaled video URL to the user.