|
Download README.md from stimi/flashVSR: direct link, hf CLI and curl.
- Browser
- Download file 3.48 kB
-
https://huggingface.co/stimi/flashVSR/resolve/main/README.md
- Command line
-
hf download hf://stimi/flashVSR/README.md
-
curl -L -o README.md https://huggingface.co/stimi/flashVSR/resolve/main/README.md
3.48 kB
| license: apache-2.0 | |
| base_model: JunhaoZhuang/FlashVSR | |
| language: | |
| - en | |
| tags: | |
| - video-super-resolution | |
| - video-upscaling | |
| - flashvsr | |
| - api | |
| - apimodels | |
| # FlashVSR — hosted API access | |
| **FlashVSR** is a real-time, diffusion-based streaming **video super-resolution** model | |
| (CVPR 2026). This repository is **not the model weights** — it is a documentation page for | |
| running FlashVSR through a hosted API on **[apimodels.app](https://apimodels.app)**, a | |
| multi-model API gateway where one key and one OpenAI-compatible endpoint reach 110+ image, | |
| video, audio and language models. | |
| - Original model & weights: **[JunhaoZhuang/FlashVSR](https://huggingface.co/JunhaoZhuang/FlashVSR)** | |
| - Authors: Junhao Zhuang, Shi Guo, Xin Cai, Xiaohui Li, Yihao Liu, Chun Yuan, Tianfan Xue | |
| - License: Apache-2.0 (this page follows the upstream license) | |
| This page is an independent, hosted-API integration. It is **not affiliated with or endorsed | |
| by the authors** and does not redistribute their weights. All credit for the model is theirs. | |
| ## What it does | |
| Turn a low-resolution clip into a sharper 720p / 1080p / 2K / 4K video. FlashVSR is a | |
| one-step streaming framework, so it is fast enough for real-time use. | |
|  | |
| *Same frame and region: a 480p source clip (left) vs the FlashVSR result at 1080p (right), | |
| produced through the apimodels.app API. No other edits.* | |
| ## Use it via API | |
| No GPU or setup on your side — call the hosted endpoint on apimodels.app. Get a key at | |
| https://apimodels.app, then: | |
| ```bash | |
| # 1) upload the clip -> get a public URL | |
| curl -X POST https://api.apimodels.app/v1/files \ | |
| -H "Authorization: Bearer YOUR_API_KEY" \ | |
| -F "file=@input.mp4;type=video/mp4" | |
| # -> { "data": { "publicUrl": "https://r2.apimodels.app/uploads/.../input.mp4" } } | |
| # 2) create the upscale task (resolution: 720p | 1080p | 2k | 4k) | |
| curl -X POST https://api.apimodels.app/v1/video/generations \ | |
| -H "Authorization: Bearer YOUR_API_KEY" \ | |
| -H "Content-Type: application/json" \ | |
| -d '{ "model": "flashvsr", "video": "<publicUrl>", "resolution": "1080p" }' | |
| # -> { "data": { "taskId": "..." } } | |
| # 3) poll until state == "completed" | |
| curl "https://api.apimodels.app/v1/video/generations?task_id=TASK_ID" \ | |
| -H "Authorization: Bearer YOUR_API_KEY" | |
| # -> { "data": { "state": "completed", "resultUrls": ["https://..."] } } | |
| ``` | |
| Python (OpenAI-style base URL not needed — plain HTTP): | |
| ```python | |
| import requests | |
| BASE, KEY = "https://api.apimodels.app", "YOUR_API_KEY" | |
| H = {"Authorization": f"Bearer {KEY}"} | |
| pub = requests.post(f"{BASE}/v1/files", headers=H, | |
| files={"file": ("input.mp4", open("input.mp4", "rb"), "video/mp4")} | |
| ).json()["data"]["publicUrl"] | |
| task = requests.post(f"{BASE}/v1/video/generations", headers=H, | |
| json={"model": "flashvsr", "video": pub, "resolution": "1080p"} | |
| ).json()["data"]["taskId"] | |
| # then GET {BASE}/v1/video/generations?task_id=task until state == "completed" | |
| ``` | |
| ## Pricing | |
| Billed per second of **input** video length (not output). Failed jobs are not charged. | |
| Result files are kept for 7 days. | |
| | Resolution | Price / input second | | |
| | --- | --- | | |
| | 720p | $0.02 | | |
| | 1080p | $0.03 | | |
| | 2K | $0.035 | | |
| | 4K | $0.06 | | |
| ## Links | |
| - Run it: **[apimodels.app](https://apimodels.app)** | |
| - API docs: https://apimodels.app/docs/flashvsr | |
| - Original model: https://huggingface.co/JunhaoZhuang/FlashVSR | |