Nodes/DenRakEiw_Nodes/🌌 Cosmos 3 Super T2I (fal.ai) *DRE
ComfyUI Node

🌌 Cosmos 3 Super T2I (fal.ai) *DRE

Run the 64B model nobody can download

By DenRakEiw·Created about a year ago·Updated a day ago· 35
🌌 Cosmos 3 Super T2I (fal.ai) *DRE
    • image
    • seed
    • metadata
    prompt
    image_sizesquare_hd
    width1024
    height1024
    num_inference_steps28
    guidance_scale4.0
    num_images1
    seed0
    output_formatjpeg
    negative_prompt
    enable_prompt_expansionfalse
    enable_agentic_generationfalse
    agentic_max_iterations2
    agentic_samples_per_iteration2
    agentic_early_stoptrue
    enable_safety_checkertrue
    sync_modefalse
    timeout_minutes15
    api_key

    Cosmos 3 Super-Text2Image was one of the best open image models in the world the day it shipped, and almost nobody could run it. The 64B Super weights - a 32B reasoner fused to a 32B diffusion tower - want a ~130GB download and 8xH100-class hardware. That's the whole reason this node exists: it doesn't run the model, it asks fal.ai to run it and hands the result back as a normal ComfyUI image you can wire into your own upscaler and saver.

    Local is not a route here. This is the route.

    How it works

    The pack talks to fal's queue API over raw REST - no fal-client package hiding inside. A POST to nvidia/cosmos-3-super/text-to-image returns a request_id plus status_url and response_url; the node polls the status URL until COMPLETED, fetches the result, downloads the images and stacks them into one IMAGE batch.

    Two details explain behaviour you'd otherwise blame on ComfyUI. Polling is async, so your queue keeps moving and the UI doesn't lock up while a job waits. And retries are GET-only by design: replaying the submit POST could bill you twice, so it never happens.

    The inputs that matter

    prompt is the one to slow down on. The author's own tooltip: Cosmos 3 was trained on dense, structured captions, so a three-word prompt undersells it. Write a paragraph, not a phrase.

    image_size picks a fal preset (square_hd, square, the 4:3 and 16:9 portrait/landscape variants) or custom, which unlocks width and height - 512 to 1280, steps of 16. That's the endpoint's ceiling, not a bug - this node won't hand you 4K.

    num_inference_steps (28) and guidance_scale (4.0) are the quality/obedience pair, and the defaults are fine - reach for guidance when the prompt is being ignored. num_images (1–4) comes back as one batch, seed is for reproducibility, output_format is jpeg or png.

    The optional half is where the money goes. enable_prompt_expansion has an LLM rewrite your text into dense Cosmos format first. enable_agentic_generation runs an iterative loop - sample candidates, score, sharpen, repeat - tuned by agentic_max_iterations, agentic_samples_per_iteration and agentic_early_stop; every candidate is a full billed generation, so leave it off until you have a reason. negative_prompt only goes out when you fill it in. enable_safety_checker is on by default and disabling it needs fal account approval. sync_mode keeps the run out of your fal history; you almost never need it. timeout_minutes deserves a warning: if it fires, the node stops waiting but the server job keeps running and keeps costing credits. api_key can be pasted in, otherwise the node reads FAL_KEY from the pack's .env or the environment.

    Outputs

    image is the batch - Preview Image, Save Image, or your upscale chain. seed is the seed the API actually used. metadata dumps the whole transaction as a string, including the request_id and response URL - feed it to a Show Any node when a run fails and you want to look the job up.

    Install

    ComfyUI Manager, search DenRakEiw Nodes (publisher denrakeiw), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/DenRakEiw/DenRakEiw_Nodes
    pip install -r DenRakEiw_Nodes/requirements.txt
    

    Then the key - note the .env lives in the pack's own directory, not ComfyUI root:

    echo 'FAL_KEY=your-fal-key' >> ComfyUI/custom_nodes/DenRakEiw_Nodes/.env
    

    That requirements file mostly serves the pack's Flux LayerDiffuse and latent nodes (diffusers, kornia, opencv); this node only needs requests plus the torch and Pillow ComfyUI already ships. Note the README never mentions Cosmos - it documents the Flux 3 API nodes and stops, because this node is newer than the docs. The *DRE tag in the display name is just the pack's convention for coexisting with the author's standalone packs.

    Where people get burned

    The errors are in German. Not a broken install - the author is German. Kein fal.ai API Key gefunden means no key found; Cosmos3: prompt darf nicht leer sein means you ran it with an empty prompt. A 401/403 means an invalid or missing key; any other refusal carries the API's own error body, which is where the real explanation lives.

    Nothing appears on the canvas. It isn't an output node. An unwired graph finishes happily and shows you nothing, so add a Preview or Save node.

    It's metered. Every call costs credits, including each of your up-to-4 images and every agentic candidate. An empty fal balance doesn't fail politely, it just stops working. If a queue is long, raise timeout_minutes rather than assuming a hang.

    One caveat: r/comfyui reads "not local, goes through an API" as a reason to skip a release, and that instinct is usually right. Here it isn't, because there's no local option to prefer. For stills with real physics in them, a few credits is a fair price to see the fuss.

    Categoryfal.ai API

    Inputs (19)

    NameTypeDefaultDescription
    promptSTRINGBeschreibung des Bildes. Cosmos3 wurde auf dichte, strukturierte Captions trainiert — ausführliche Prompts funktionieren besser.
    image_sizeCOMBOsquare_hdfal-Preset oder 'custom' für eigene width/height (512–1280, Schritte von 16).
    widthINT1024512–1280Nur bei image_size='custom'.
    heightINT1024512–1280Nur bei image_size='custom'.
    num_inference_stepsINT281–50Denoising-Steps. Mehr = höhere Qualität, langsamer.
    guidance_scaleFLOAT4.01–20Classifier-free guidance. Höher = strengere Prompt-Treue.
    num_imagesINT11–4Anzahl Bilder pro Run (werden als Batch ausgegeben).
    seedINT00–4294967295Gleiche Seed + Prompt + Modellversion = gleiches Bild.
    output_formatCOMBOjpegjpeg (kleiner) oder png (verlustfrei).
    negative_promptoptSTRINGWovon die Generation weggesteuert wird (Farben, Objekte, Artefakte). Leer = aus.
    enable_prompt_expansionoptBOOLEANfalseLLM schreibt den Prompt vorab in das dichte Cosmos3-Trainingsformat um. Bei Fehler fällt die API auf den Rohtext zurück.
    enable_agentic_generationoptBOOLEANfalseIterativer Agentic-Loop: mehrere Kandidaten generieren, bewerten, Prompt nachschärfen. Deutlich langsamer und teurer (jeder Kandidat ist eine volle Generation).
    agentic_max_iterationsoptINT21–5Nur bei Agentic: maximale Verfeinerungsrunden.
    agentic_samples_per_iterationoptINT21–4Nur bei Agentic: Kandidaten pro Runde.
    agentic_early_stopoptBOOLEANtrueNur bei Agentic: Loop früh stoppen, wenn ein Kandidat die Qualitätsschwelle reißt.
    enable_safety_checkeroptBOOLEANtrueContent-Moderation für Prompt und Ergebnis. Deaktivieren braucht Account-Freigabe bei fal.
    sync_modeoptBOOLEANfalseTrue = Bild kommt als data-URI zurück und taucht nicht in der fal-History auf. Fast nie nötig.
    timeout_minutesoptINT151–240Wie lange die Node auf das Ergebnis wartet. Läuft die Zeit ab, bricht nur die Node ab — der Job läuft serverseitig weiter (und kostet trotzdem Credits).
    api_keyoptSTRINGLeer = FAL_KEY aus .env oder Umgebungsvariable.

    Outputs (3)

    NameTypeDescription
    imageIMAGE
    seedINT
    metadataSTRING