Follow-up to #208 (item 5). Animate's plumbing (video output, derived clips, XMP in mp4, jobs manager) makes video input the next step.
Proposal
Video loader node in comfyui-imageapi-versions: load a library video by path (imageapi:source), with frame cap / trim inputs.
Templatesharpen-video (SeedVR2 7B, like Sharpen) with output = video; input type on templates (input: image | video) so the app offers it only on videos.
Output:aiedits/<name>.sharpened.mp4, linked by XMP DerivedFrom like Animate. Decide whether a sharpened video is a version of the video (display choice applies) rather than a derived clip; probably a version.
Cost guard: ~35 s of 4090 time per second of 1080p. Cap duration (e.g. 20 s) or require a trim range; show the estimate in the app before submit.
Audio: pass the original audio through (SeedVR2 is video-only).
App: Enhance on the video viewer, preview playback in the panel, jobs manager already covers progress; a progress % (ComfyUI progress messages) would help here.
Probably best after #206 (ComfyUI on the server) or kept on the desktop 4090.
Follow-up to #208 (item 5). Animate's plumbing (video output, derived clips, XMP in mp4, jobs manager) makes video *input* the next step.
## Proposal
- **Video loader node** in comfyui-imageapi-versions: load a library video by path (imageapi:source), with frame cap / trim inputs.
- **Template** `sharpen-video` (SeedVR2 7B, like Sharpen) with `output = video`; input type on templates (`input: image | video`) so the app offers it only on videos.
- **Output:** `aiedits/<name>.sharpened.mp4`, linked by XMP DerivedFrom like Animate. Decide whether a sharpened video is a *version* of the video (display choice applies) rather than a derived clip; probably a version.
- **Cost guard:** ~35 s of 4090 time per second of 1080p. Cap duration (e.g. 20 s) or require a trim range; show the estimate in the app before submit.
- **Audio:** pass the original audio through (SeedVR2 is video-only).
- **App:** Enhance on the video viewer, preview playback in the panel, jobs manager already covers progress; a progress % (ComfyUI progress messages) would help here.
Probably best after #206 (ComfyUI on the server) or kept on the desktop 4090.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Clip selection: let the user pick a short window (default 5 s) inside the video to Enhance, with a scrubber in the app's Enhance sheet (start handle + fixed or adjustable length). The request carries start_ms / duration_ms; the loader node trims to it. This doubles as the cost guard (5 s of 1080p ≈ 3 min of 4090 time) and makes quick tries cheap before committing to a longer run. Output is the sharpened window as its own clip/version.
**Clip selection:** let the user pick a short window (default 5 s) inside the video to Enhance, with a scrubber in the app's Enhance sheet (start handle + fixed or adjustable length). The request carries `start_ms` / `duration_ms`; the loader node trims to it. This doubles as the cost guard (5 s of 1080p ≈ 3 min of 4090 time) and makes quick tries cheap before committing to a longer run. Output is the sharpened window as its own clip/version.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Follow-up to #208 (item 5). Animate's plumbing (video output, derived clips, XMP in mp4, jobs manager) makes video input the next step.
Proposal
sharpen-video(SeedVR2 7B, like Sharpen) withoutput = video; input type on templates (input: image | video) so the app offers it only on videos.aiedits/<name>.sharpened.mp4, linked by XMP DerivedFrom like Animate. Decide whether a sharpened video is a version of the video (display choice applies) rather than a derived clip; probably a version.Probably best after #206 (ComfyUI on the server) or kept on the desktop 4090.
🤖 Generated with Claude Code
Clip selection: let the user pick a short window (default 5 s) inside the video to Enhance, with a scrubber in the app's Enhance sheet (start handle + fixed or adjustable length). The request carries
start_ms/duration_ms; the loader node trims to it. This doubles as the cost guard (5 s of 1080p ≈ 3 min of 4090 time) and makes quick tries cheap before committing to a longer run. Output is the sharpened window as its own clip/version.