Nodes/Magic Hour/Magic Hour · Image Generator
ComfyUI Node

Magic Hour · Image Generator

A hosted image generator that hands you Nano Banana Pro and Seedream as a tensor

By RhythmP28·Created about a month ago·Updated about a month ago· 0
Magic Hour · Image Generator
    • IMAGE
    prompt
    modeldefault
    image_count1
    aspect_ratio1:1
    resolutionauto
    api_key

    Magic Hour · Image Generator is the still-image member of the pack: prompt in, IMAGE tensor out, rendered on Magic Hour's hosted infrastructure. No GPU, no checkpoints. On the surface it's the dullest node in the set - another txt2img box. The model dropdown is where it gets interesting, because it's a strange mix of company:

    gpt-image-2 (OpenAI), nano-banana-pro (Google's flagship), seedream-5-pro (ByteDance) - all closed, all impossible to run locally, and this node is one of the few ways they show up inside a ComfyUI graph.

    And then: flux-2-klein, z-image-turbo, qwen-edit - all open-weights models you can already run on your own card. Z-Image Turbo and Flux 2 Klein are literally the community's speed picks for consumer hardware; Qwen-Image's edit model is a local editing staple. So the honest take is split. If you're after Nano Banana Pro or Seedream, this is a legitimate door to a model you could never otherwise touch. If you're reaching for Klein or Z-Image and you own a working GPU, you're paying per image for something that's free and uncensored at home - that part only makes sense for the no-GPU workflow, or when you want a closed frontier model next to your local nodes without leaving the graph.

    How it works

    Your prompt is POSTed to Magic Hour's image-generator endpoint with your chosen model, aspect ratio, and resolution. The node polls until the job completes, downloads the result(s), and converts them into a ComfyUI IMAGE tensor - a float32 array in [batch, H, W, C], exactly like a local sampler's output. Whatever you wire downstream doesn't know or care that the pixels crossed a network.

    That's a genuine advantage over pasting a URL into the graph: because the output is a real IMAGE, you can chain it into the rest of the pack - animate a generated still with the Image to Video node, or feed it straight into face swap - or run it through your local upscaler, img2img pass, or mask-and-detailing stack.

    The inputs that matter

    • prompt - multiline, the one field you'll actually spend time on.
    • model - default is Magic Hour's own pick; the rest are the named models above. Labels don't carry plan info here the way the video nodes do, so mind the closed ones are metered higher.
    • image_count - 1 to 16. Ask for a batch and you get a stacked IMAGE tensor, handy for pick-a-frame workflows or as a batch you fan out for variations.
    • aspect_ratio - 1:1, 16:9, or 9:16.
    • resolution - auto (sensible default), or pin 640px / 1k / 2k / 4k. auto is the right answer until you know you need more.
    • api_key - only if you didn't set the env var.

    One output, IMAGE. There's no Save node built in, so wire it to a preview/save or let it feed something downstream - this is a mid-graph node, not a terminal one.

    Installing and your first run

    ComfyUI Manager: search "Magic Hour" → install. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/RhythmP28/comfyui-magic-hour
    

    Restart ComfyUI. Dependencies are just requests, pillow, and numpy - nothing to download, no models.

    Free API key (no card, 400 credits on signup plus 100/day) at magichour.ai/developer. Paste it into the node, or keep it out of shared workflows:

    export MAGIC_HOUR_API_KEY="your_key_here"
    

    Where people get burned

    • Credits run quieter than video but they still run. A still is far cheaper than a second of Sora, but batch up 16 nano-banana-pro images at 4k and watch the counter move.
    • The closed models bring their own moderation. You can't abliterate Nano Banana Pro - whatever Google refuses, the node refuses, and there's no local bypass because there are no weights to patch. That's the price of calling the closed frontier.
    • Your prompts leave the machine. Inherent to the category, worth remembering before you push something sensitive.
    • Out-of-credits raises an explicit "out of credits" error; failed jobs are auto-refunded.

    Use it for the models you can't download, or the no-GPU machine. Use your own card for the ones you can.

    CategoryMagic Hour

    Inputs (6)

    NameTypeDefaultDescription
    promptSTRING
    modelCOMBOdefault7 options: default, gpt-image-2, nano-banana-pro, seedream-5-pro, flux-2-klein, z-image-turbo, +1
    image_countINT11–16
    aspect_ratioCOMBO1:13 options: 1:1, 16:9, 9:16
    resolutionCOMBOauto5 options: auto, 640px, 1k, 2k, 4k
    api_keyoptSTRING

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE