comfyui-magic-hour
A ComfyUI extension with 29 custom nodes.
Nodes (29)
Magic Hour: Animation
Magic Hour: Audio to Video
Magic Hour: Auto Subtitle Generator
The cutout is fine. The alpha channel is where this one gets interesting
Magic Hour: Body Swap
Swap the person in a video, or animate your character with their motion
Magic Hour: AI Clothes Changer
The one node here that spends credits telling you where a face is
Magic Hour: AI Face Editor
Magic Hour: Face Swap (Video)
Two images in, one out
Magic Hour: AI GIF Generator
Magic Hour: AI Headshot Generator
Magic Hour: Head Swap
Nano Banana and friends, wired straight into your graph
A hosted image generator that hands you Nano Banana Pro and Seedream as a tensor
Animate anything already in your graph, rendered on someone else's GPUs
Magic Hour: Lip Sync
Magic Hour: AI Meme Generator
Magic Hour: Photo Colorizer
The QR Monster you can't run locally anymore, one prompt away
Magic Hour: Talking Photo
Sora 2 and Veo 3.1 in your ComfyUI graph, with zero GPUs
Magic Hour: AI Image Upscaler
Edit a Video by Typing at It — Magic Hour's AI Video Editor, in Your Graph
Magic Hour's Video to Video Node
Dub a Clip Into 53 Languages Without Leaving Your Workflow
Point It at a Voice Clip, Then Make That Voice Say Anything
1,266 Voices in a Dropdown, and a Billing Meter Behind It
Magic Hour for ComfyUI
Custom nodes that run Magic Hour generation tools inside a ComfyUI workflow, so you don't have to leave your graph or write API calls.
Video (return a VIDEO): Image to Video, Text to Video, Video to Video, Talking Photo, Lip Sync, Face Swap (Video), Character Replace, AI Video Editor, AI Video Translator, Audio to Video, Animation, Auto Subtitle Generator.
Image (return an IMAGE): AI Image Generator, AI Image Editor, AI Image Upscaler, AI Headshot Generator, AI Clothes Changer, AI Face Editor, Face Swap (Photo), Head Swap, Body Swap, Background Remover, Photo Colorizer, AI Meme Generator, AI QR Code Generator, AI GIF Generator (frames).
Other: Face Detection (returns the API's JSON as text).
Voice (return AUDIO): AI Voice Generator and AI Voice Cloner. Set MAGIC_HOUR_DISABLE_VOICE_NODES=1 before starting ComfyUI to hide them. Only clone voices you have the right to use.
That is 29 tools in total, the same set as the Magic Hour Python SDK. Long option lists (art styles, voices, meme templates, languages) are read from the installed SDK, so they stay in sync with the API.
Each node uploads its inputs, starts the job, waits for it to finish, downloads the result into ComfyUI/output/magic_hour/, and returns it with the saved file path and the credits charged.
Install
Comfy Registry / ComfyUI-Manager: search for "Magic Hour" (once published).
Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/magichourhq/comfyui-magic-hour
pip install -r comfyui-magic-hour/requirements.txt
Restart ComfyUI. The nodes appear under Magic Hour in the node menu. Requires a ComfyUI version that has the VIDEO type (any recent release).
API key
- Create an API key at https://magichour.ai/developer.
- Give it to ComfyUI before it starts, using either:
- an environment variable:
export MAGIC_HOUR_API_KEY=..., or - a file named
api_key.txtinside this folder containing only the key (it is git-ignored).
- an environment variable:
The key is deliberately not a node field. Node field values are saved inside workflow files, so a key typed into a node would leak whenever the workflow is shared.
Credits and usage
Every run spends credits on the account that owns the key. Longer videos, higher resolutions, and premium models cost more. See https://magichour.ai/pricing and the API docs. Jobs run on Magic Hour's servers, so no GPU is needed locally.
Use the swap, clothes changer, face editor, lip sync, and voice nodes only with people's likenesses and voices you have the right to use, and follow Magic Hour's terms and content guidelines.
Example workflow: photo to talking video
Load ImageandLoad Audionodes.- Connect them to Magic Hour: Talking Photo.
- Connect its
videooutput toSave Video(orPreview).
Troubleshooting
- "API key not found": set
MAGIC_HOUR_API_KEYbefore launching ComfyUI, or createapi_key.txt. - 401 Unauthorized: the key is wrong or was deleted. Create a new one.
- Not enough credits / plan limits: the error message from Magic Hour is shown in the node. Some models and resolutions need a paid plan.
- Slow: video generation takes from tens of seconds to several minutes. The node waits until it's done.
Development
python -m unittest discover tests # mocked, spends no credits
License
Apache-2.0, see LICENSE.