Nodes/SpicyAPI/Krea 2 Medium · Text to Image
ComfyUI Node

Krea 2 Medium · Text to Image

The volume tier, and the only Krea with a format switch

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Krea 2 Medium · Text to Image
    • images
    • task id
    ◄prompt►
    ◄aspect_ratio1:1►
    ◄output_formatpng►
    ◄seed0►

    Where this sits

    SpicyAPI carries three tiers of Krea's text-to-image line, and Medium is the middle one: about $0.03 an image, "made for frames you produce in volume". That's the honest use case. Large is for the hero frame, Turbo is for sketching, and Medium is what you run when you're producing forty images of a recurring character and want them to look like the same world without paying hero-frame prices.

    The model underneath is Krea 2 - a 12B diffusion transformer trained from scratch by Krea in San Francisco, with Qwen3-VL as the text encoder and Qwen-Image's VAE, picked on purpose for stylized and non-photographic output. The tiering is Krea's own; the node is just the door.

    What the node gives you

    Three fields, no more:

    • prompt - up to 5,000 characters. Krea 2 rewards length and specificity, and the community's single highest-leverage prompting trick applies here: disambiguate proper nouns. Ask for the wrong version of a popular character and you'll get it. Series name, year, variant - it all helps.
    • aspect_ratio - 1:1 by default, five shapes in total. If you need 2.35:1 anamorphic framing, that lives on the Large and Turbo tiers, not this one.
    • output_format - the one field unique to Medium in this pack. PNG by default, JPEG on request. If your pipeline is going to composite these (masks, transparency-ish work, further edits), keep the default and eat the file size; PNG is the version that survives another round of processing without artifacts compounding.

    Outputs are images - a normal IMAGE batch, so Save Image, Preview Image, an upscale node or a face-detailer all just work downstream - plus task id, the string that names this exact request on SpicyAPI. It's what support wants if a frame comes back broken.

    How the run goes

    Everything happens server-side. The node assembles the request from your widgets, asks SpicyAPI for a quote, checks it against your per-run ceiling if you've set one, submits, polls while printing progress on the node, then downloads the returned image and decodes it into a tensor. There's no model on your disk and no VRAM involved; a laptop is enough. Field values left at a "model default" option or a -1 number are omitted from the request entirely, so the model decides rather than the node guessing.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/spicyapi-ai/comfyui-spicyapi
    

    Restart ComfyUI. Then Settings > SpicyAPI → paste a key from spicyapi.ai/console/keys → restart once so the node list is rebuilt from your account. Headless boxes can use SPICY_API_KEY instead. Nothing to pip-install and no checkpoints to download - this pack adds zero dependencies to your ComfyUI. ComfyUI Manager: search the pack title, SpicyAPI. You'll want a recent ComfyUI (V3 node API; the pack is tested on 0.39) and Python 3.10+.

    The catches

    No seed field. Medium doesn't take one, so you cannot reproduce a frame - no "same seed, tweak one clause". At about three cents a roll this is a much smaller deal than it is on video, but it does mean batching is your only technique: run the idea several times and pick.

    Three cents adds up in a way six cents doesn't. The node's badge shows the live rate, and Max cost per run in the settings panel will refuse an over-budget run before it's charged. If you're using a Chat node to write prompts and this node to render them, that's two metered calls per image.

    The hosted endpoint's filter is final. Krea 2's hosted version didn't get the alignment pass the open weights did, which is a point in the hosted version's favour - but an API node still can't abduct a refusal the way you can patch it out of a local checkpoint. What the provider refuses, the node refuses.

    Cancel doesn't cancel. The job keeps running on SpicyAPI, is charged if it succeeds, and its result sits in your console for up to 14 days. Queueing it again because the node looked stuck is how people pay twice.

    Missing a model that exists on spicyapi.ai? Restart ComfyUI. The node list comes from your account's catalogue at startup, so anything new appears only after a restart - and with no key at all you get the list bundled with the release you installed.

    CategorySpicyAPI/Image/Krea

    Inputs (4)

    NameTypeDefaultDescription
    promptSTRINGDescribe the image to generate: subject, composition, style, and lighting.
    aspect_ratioCOMBO1:1Aspect ratio of the generated image.
    output_formatCOMBOpngFile format of the returned image.
    seedINT00–2147483647This model takes no seed, so the number is never sent. Changing it makes ComfyUI run the node again: set 'control after generate' to randomize for a new result on every run; every run is billed.

    Outputs (2)

    NameTypeDescription
    imagesIMAGE—
    task idSTRINGThe SpicyAPI task id, for the console logs or support.