Extract Frame · screenshot coming soon
What this node does
Extract Frame freezes one frame from aCOMFYTV_VIDEO clip. Pick position or at_seconds, get an image snapshot. Common for ↪ Extend (last frame → new I2V), thumbnails, or Image Edit / Upscale.
Processing uses PyAV (FFmpeg bindings) on the file behind the /view? URL — fast, zero VRAM.
When to use it
- Last frame from an AI clip for I2V continuation
- Inspect motion or composition at a specific time
- Video → still → edit / upscale → back to video
How ComfyTV designed this
- Stage + ▶ Run: extracts from upstream video snapshot only.
- Snapshot: reads upstream video URL; re-run upstream after changes.
- PyAV backend: decode one frame, write PNG. See video-and-audio.md.
Types (COMFYTV_* vs native ComfyUI)
Conversion: plugin video → → ComfyTV Video; frame to tensor → ← ComfyTV Image. See bridges.md.
Parameters
video (input)
UpstreamCOMFYTV_VIDEO. Unwired → Run error.
position
- last — final frame (extend workflows)
- first — opening frame
- middle — midpoint
- custom — uses at_seconds
at_seconds
Timestamp in seconds when position=custom. Range 0–3600.Outputs
Step by step
- Upstream node outputs
COMFYTV_VIDEO(e.g. Video Stage), Run it. - Add Extract Frame, wire video.
- Set position (e.g. last) or custom + seconds.
- ▶ Run, check thumbnail.
- Wire Upscale or Video Stage (I2V).
Full guides (recommended reading)
This page covers one node only. For end-to-end workflows, multi-stage pipelines, type conversion, and design rationale, see the ComfyTV user guides on GitHub:
Repository and workflows
FAQ
Q: “needs upstream video”?A: Run upstream video stage; confirm video is wired. Q: vs Load Video + Save Image?
A: Extract Frame stays in ComfyTV snapshots (
COMFYTV_IMAGE downstream) and runs this node only.
Q: Custom time beyond duration?A: PyAV clamps to valid range; may land near the last frame.
Related nodes
- Video Stage / Load Video
- Video Clip
- ↪ Extend (toolbar) — auto last frame + new Video Stage