stimi commited on
Commit
6428e53
·
verified ·
1 Parent(s): cd1aaa0

Upload README.md

Browse files
Files changed (1) hide show
  1. README.md +88 -0
README.md CHANGED
@@ -1,3 +1,91 @@
1
  ---
2
  license: apache-2.0
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: apache-2.0
3
+ base_model: JunhaoZhuang/FlashVSR
4
+ language:
5
+ - en
6
+ tags:
7
+ - video-super-resolution
8
+ - video-upscaling
9
+ - flashvsr
10
+ - api
11
+ - apimodels
12
  ---
13
+
14
+ # FlashVSR — hosted API access
15
+
16
+ **FlashVSR** is a real-time, diffusion-based streaming **video super-resolution** model
17
+ (CVPR 2026). This repository is **not the model weights** — it is a documentation page for
18
+ running FlashVSR through a hosted API on **[apimodels.app](https://apimodels.app)**, a
19
+ multi-model API gateway where one key and one OpenAI-compatible endpoint reach 110+ image,
20
+ video, audio and language models.
21
+
22
+ - Original model & weights: **[JunhaoZhuang/FlashVSR](https://huggingface.co/JunhaoZhuang/FlashVSR)**
23
+ - Authors: Junhao Zhuang, Shi Guo, Xin Cai, Xiaohui Li, Yihao Liu, Chun Yuan, Tianfan Xue
24
+ - License: Apache-2.0 (this page follows the upstream license)
25
+
26
+ This page is an independent, hosted-API integration. It is **not affiliated with or endorsed
27
+ by the authors** and does not redistribute their weights. All credit for the model is theirs.
28
+
29
+ ## What it does
30
+
31
+ Turn a low-resolution clip into a sharper 720p / 1080p / 2K / 4K video. FlashVSR is a
32
+ one-step streaming framework, so it is fast enough for real-time use.
33
+
34
+ ## Use it via API
35
+
36
+ No GPU or setup on your side — call the hosted endpoint on apimodels.app. Get a key at
37
+ https://apimodels.app, then:
38
+
39
+ ```bash
40
+ # 1) upload the clip -> get a public URL
41
+ curl -X POST https://api.apimodels.app/v1/files \
42
+ -H "Authorization: Bearer YOUR_API_KEY" \
43
+ -F "file=@input.mp4;type=video/mp4"
44
+ # -> { "data": { "publicUrl": "https://r2.apimodels.app/uploads/.../input.mp4" } }
45
+
46
+ # 2) create the upscale task (resolution: 720p | 1080p | 2k | 4k)
47
+ curl -X POST https://api.apimodels.app/v1/video/generations \
48
+ -H "Authorization: Bearer YOUR_API_KEY" \
49
+ -H "Content-Type: application/json" \
50
+ -d '{ "model": "flashvsr", "video": "<publicUrl>", "resolution": "1080p" }'
51
+ # -> { "data": { "taskId": "..." } }
52
+
53
+ # 3) poll until state == "completed"
54
+ curl "https://api.apimodels.app/v1/video/generations?task_id=TASK_ID" \
55
+ -H "Authorization: Bearer YOUR_API_KEY"
56
+ # -> { "data": { "state": "completed", "resultUrls": ["https://..."] } }
57
+ ```
58
+
59
+ Python (OpenAI-style base URL not needed — plain HTTP):
60
+
61
+ ```python
62
+ import requests
63
+ BASE, KEY = "https://api.apimodels.app", "YOUR_API_KEY"
64
+ H = {"Authorization": f"Bearer {KEY}"}
65
+
66
+ pub = requests.post(f"{BASE}/v1/files", headers=H,
67
+ files={"file": ("input.mp4", open("input.mp4", "rb"), "video/mp4")}
68
+ ).json()["data"]["publicUrl"]
69
+ task = requests.post(f"{BASE}/v1/video/generations", headers=H,
70
+ json={"model": "flashvsr", "video": pub, "resolution": "1080p"}
71
+ ).json()["data"]["taskId"]
72
+ # then GET {BASE}/v1/video/generations?task_id=task until state == "completed"
73
+ ```
74
+
75
+ ## Pricing
76
+
77
+ Billed per second of **input** video length (not output). Failed jobs are not charged.
78
+ Result files are kept for 7 days.
79
+
80
+ | Resolution | Price / input second |
81
+ | --- | --- |
82
+ | 720p | $0.02 |
83
+ | 1080p | $0.03 |
84
+ | 2K | $0.035 |
85
+ | 4K | $0.06 |
86
+
87
+ ## Links
88
+
89
+ - Run it: **[apimodels.app](https://apimodels.app)**
90
+ - API docs: https://apimodels.app/docs/flashvsr
91
+ - Original model: https://huggingface.co/JunhaoZhuang/FlashVSR