Agnes-AI Video
Text-to-Video That Renders Somewhere Else
- image
- end_frame
- video
- last_frame
- frames
- audio
Video is the reason most people finally rent a cloud GPU - it's the one job that can make an 8GB card tap out. Agnes-AI Video sidesteps that entirely: it ships your prompt (or start frame) to Agnes AI's cloud, waits for the render, and drops the finished clip back into your graph. Three modes: Text To Video, Image To Video (animate from a start frame), and First and Last frame (interpolate between two images). 480p/720p/1080p, 3–18 seconds, and a configurable frame rate.
How it works
It POSTs a video job to the API with your prompt, width/height, frame count, fps, and optional negative prompt, then polls the server every 10 seconds - up to 10 minutes - until the job reads completed. It downloads the MP4 into temp/agnes_videos and then does something most cloud wrappers don't: it tears the video apart locally. ffprobe finds the last frame, ffmpeg extracts the full frame sequence, and ffmpeg + torchaudio pull the audio track into ComfyUI's AUDIO format. Frame count isn't a free choice - it's computed as round((duration × fps − 1) / 8) × 8 + 1, capped at 441 frames (so 5 seconds at 24fps gives you 121 frames).
Inputs that matter
- mode - the three-way switch above. Text To Video needs only a prompt; the other two need
image(andend_framefor keyframe mode). - prompt - what the video should be. The placeholder suggests "Cinematic camera movement, natural motion," which is honestly good advice for a video prompt.
- duration - 3 to 18 seconds, 0.5 steps. 5 is a sane default; longer means slower and pricier for the host.
- quality - 480p/720p/1080p.
- seed - 0 means random; anything else gives a reproducible result.
- negative_prompt (optional) - actually useful here, since you can't re-roll a video cheaply.
Outputs
- video (
VIDEO) - wire it into a Save Video or Preview Video node like in the pack's example workflow. - last_frame (
IMAGE) - great for chaining the clip's end into an upscaler or an img2img follow-up. - frames (
IMAGE, batched) - the full sequence, if you want to do per-frame work. - audio (
AUDIO) - the extracted soundtrack.
The catch with frames and audio
frames and audio depend on local ffmpeg (and torchaudio for the audio). If ffmpeg isn't on your PATH, those outputs quietly return blank placeholder tensors instead of crashing - a 64×64 black image where your 1080p frames should be. That's how people end up confused. Install ffmpeg and check ffmpeg -version before you trust those outputs. Also, video jobs take minutes, not seconds, and the poll caps out at 600 seconds - a long queue throws "Video timed out," so budget accordingly.
Installing
ComfyUI Manager → search Agnes-AI → install → restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/1038lab/ComfyUI-Agnes-AI
Zero pip dependencies. You need a free API key from platform.agnes-ai.com, set in Settings (⚙️) → search "Agnes-AI", or via the AGNES_API_KEY environment variable.
The honest caveat
Same as the rest of this pack: your prompt, start frame, and end frame all leave your machine, and the render happens on a platform that launched in mid-2026 with almost no community track record - its own r/comfyui announcement got one reply summing up the local-first sentiment: "the point of comfyui is to not do this." The API-wrapper category has also shipped credential-stealing malware once (LLMVISION), so skim the source before you hand it a key. If you need a quick draft clip without touching your GPU, this is a genuinely useful way to get one. If you need anything you can't afford to lose, rent a GPU and run a local model.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | Text To Video | Text To Video: generate from prompt Image To Video: animate from start frame First and Last frame: interpolate between two frames |
| prompt | STRING | Description of the video to generate | |
| quality | COMBO | 720p | Output resolution |
| aspect_ratio | COMBO | auto | Output aspect ratio. 'auto' matches input image ratio when img2video/keyframes |
| duration | FLOAT | 5.03–18 | Video duration in seconds (3-18) |
| frame_rate | INT | 241–60 | Frames per second |
| seed | INT | 00–2147483647 | Random seed (0 = random) |
| imageopt | IMAGE | Start frame for Image To Video / First and Last frame | |
| end_frameopt | IMAGE | End frame for First and Last frame mode | |
| negative_promptopt | STRING | Negative prompt — describes what to avoid in the generated video |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| last_frame | IMAGE | — |
| frames | IMAGE | — |
| audio | AUDIO | — |