ComfyUI Node

Sloyd: Text to 3D

Text to 3D is the laziest way to get a mesh — and sometimes that's right

By Sloydai·Created 22 days ago·Updated 21 days ago· 1
Sloyd: Text to 3D
    • model_3d
    • sloyd_job
    • model_path
    • job_id
    ◄prompta medieval knight helmet►
    ◄topologyauto►
    ◄target_face_count0►
    ◄texture_resolutionauto►
    ◄t_posefalse►
    ◄seed0►
    ◄timeout_seconds900►

    Type "a medieval knight helmet", press Run, get a GLB. If you've spent any time with open 3D generation you know how suspicious that sounds - text-to-3D in the open ecosystem is normally a two-stage trick, a text-to-image model feeding an image-to-3D model. Sloyd exposes a real text-to-3d endpoint, and this node is a thin wrapper on it. It is also the weakest of the three generation nodes in practice, for the boring reason that a prompt describes less than a picture does. Reach for it when you need a helmet, fast, and don't much care which helmet.

    What you get, honestly

    A textured GLB written to ComfyUI/output/sloyd/, with UVs and a PBR texture, ready for Blender, Unity, Unreal, or a slicer. The community verdict on this whole category has been stable for two years: silhouette and surface are impressive, topology is where it falls over, and whether that matters depends entirely on the destination. Static prop, filler, blockout, 3D print - fine. Anything that has to deform - you're retopologising. Sloyd at least gives you topology and target_face_count so you can ask for quads and a sane budget instead of accepting triangle soup.

    How it runs

    The node POSTs your prompt to /jobs/text-to-3d, gets a job id back in under a second, then polls every two seconds with a progress bar until the job reaches a terminal status. It downloads jobs/{jobId}.glb and saves it. Nothing runs on your machine except requests. Means no GPU, no model weights, and none of the compiled-extension misery that makes local 3D packs so install-fragile.

    The inputs that matter

    • prompt - up to 4096 characters, and the more concrete the better. "A wooden dining chair, four legs, square back" beats "furniture". Describe one object; a prompt describing a scene returns an approximation of one thing out of it.
    • topology - auto, quads, triangles. Pick quads if you intend to edit or retopologise, triangles if it's going straight into an engine importer.
    • target_face_count - 0 lets Sloyd decide. Anything over 500000 gets clamped to the max with a log warning, so don't use it as a resolution dial.
    • texture_resolution - auto to 4k, or none for a geometry-only model with no texture at all. That's the one to pick if you're going to run Sloyd: Retexture on the result anyway.
    • t_pose - off by default; on gives you a neutral T-pose, which is the setting you want if the subject is a character you plan to rig. It won't fix bad topology, but it saves you one cleanup pass.
    • seed - not a real seed. Sloyd has no such parameter, so this only busts ComfyUI's cache. Leave it at 0 and re-running the graph is free; change it and you pay for a new generation.
    • timeout_seconds - 900s default, 60–3600. Polling checks for interruption, so Cancel actually cancels.

    Outputs

    model_3d (a FILE_3D_GLB) goes to Preview 3D (Advanced) or Save 3D with no adapter node. On older ComfyUI builds that socket type doesn't exist and it degrades to a path string, which is why the pack wants ComfyUI 0.3.40+. model_path is that same file relative to ComfyUI/output, job_id is the raw Sloyd identifier, and sloyd_job is the handle you chain into Retexture or Split to Parts.

    Install

    ComfyUI Manager → search Sloyd, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Sloydai/comfyui-sloyd
    pip install -r comfyui-sloyd/requirements.txt
    

    Restart ComfyUI. The only dependency is requests; there are no model downloads. Then Settings → Sloyd → paste a Client ID and Client Secret - Sloyd wants both, and the secret is shown once at the dashboard. Credits are prepaid, charged when a job starts, refunded automatically if it fails. One warning worth repeating: ComfyUI serialises widget values into the workflow JSON and into the metadata of files you save, which is why the credential fields live in settings and never on the graph.

    Traps

    Missing credentials produce a message naming all three ways to fix it. A 402 tells you the shortfall and starts nothing. A 429 means five jobs are already running for that key - the node absorbs it with backoff, but batches will serialise. And the big one: every run bills. Fix your prompt before you start generating twenty variations.

    CategorySloyd/3D

    Inputs (7)

    NameTypeDefaultDescription
    promptSTRINGa medieval knight helmetWhat to generate. Up to 4096 characters.
    topologyCOMBOautoMesh topology of the output.
    target_face_countINT00–5000000 lets the Sloyd pipeline choose. Maximum 500000.
    texture_resolutionCOMBOauto'none' produces a geometry-only model with no texture.
    t_poseBOOLEANfalseGenerate in a neutral T-pose. Useful if you plan to rig or animate.
    seedINT00–4294967295Change this to force a fresh generation (each one costs credits). Sloyd has no seed parameter, so this does not make results reproducible; it only busts the ComfyUI cache. Left alone, re-running reuses the cached result for free, which is what lets you iterate on a downstream node like Retexture.
    timeout_secondsoptINT90060–3600How long to wait for the job before giving up, in seconds.

    Outputs (4)

    NameTypeDescription
    model_3dFILE_3D_GLB—
    sloyd_jobSLOYD_JOB—
    model_pathSTRING—
    job_idSTRING—