Nodes/Protoface/Protoface Tripo H3.1 · Text to 3D
ComfyUI Node

Protoface Tripo H3.1 · Text to 3D

Tripo H3.1 text-to-3D

By protoface-ai·Created 22 days ago·Updated 13 days ago· 0
Protoface Tripo H3.1 · Text to 3D
    • model.3d
    • files
    • run id
    ◄prompt►
    ◄auto_sizefalse►
    ◄face_limit▾►
    ◄geometry_qualitystandard►
    ◄image_seed▾►
    ◄model_seed▾►
    ◄negative_prompt▾►
    ◄pbrtrue►
    ◄quadfalse►
    ◄texturetrue►
    ◄texture_qualitystandard►
    ◄texture_seed▾►
    ◄generation_id0►
    ◄request_scope►

    Nearly every complaint about generated 3D is the same complaint: the surface is fine, the topology is trash. Triangle soup, unreadable edge loops, a UV map made by a machine that has never met a human. Tripo H3.1 exposes a quad switch. That single boolean is why this node is worth a look - quad output is the difference between an asset you can hand-edit and one you have to rebuild.

    Tripo is Tripo AI (VAST), the lab behind the MIT-licensed TripoSR that's been the fast-and-permissive image-to-3D fallback since 2024. H3.1 is their hosted generation, several versions on, and the Protoface catalog prices the text-to-3D operation at 10 credits a job - half what the image-to-3D sibling costs, which makes text-to-3D here the cheap way to hunt for a silhouette.

    What it is

    A prompt in, a textured GLB-ish mesh out, no local anything. The Protoface pack generates this node from the model's published request schema, so the inputs read like the API's own form: required fields become widgets, optional ones become Default/Set dropdowns where Default means "omit this from the request" and Set means "send it."

    The output is a native FILE_3D, so ComfyUI's 3D nodes consume it directly. And with 10 credits per attempt, this is the one 3D operation in the pack where iteration doesn't feel reckless - you can burn five prompts to find the shape and still be under what a single Hunyuan job costs.

    The controls that actually matter

    prompt (required, max 1024 characters). Same rule as everywhere in 3D: hard-surface objects reconstruct better than organics. "Chunky dieselpunk generator, rivets, pipes, weathered paint" works. "A photoreal human face" is a preview of disappointment.

    negative_prompt is optional and Set-mode - omit it and it doesn't go to the API at all. Worth using for the failures you actually see: melted details, extra limbs, floating debris.

    quad is the headline. Off by default (triangles); turn it on for four-sided topology that a modeller can actually loop-cut. It's the closest thing to a retopology pass you'll get out of a single call.

    face_limit is optional and, if unset, the model adaptively decides the count. Explicit range is 1,000 to 2,000,000. Setting it gives you a predictable budget for a game engine or a print; leaving it unset gives you the model's own judgement, which is usually not the aggressive decimation a realtime asset wants.

    geometry_quality and texture_quality are both standard / detailed. Detailed costs you nothing in credits by the catalog's flat per-job price, so the decision is really about turnaround and file size.

    texture (on) and pbr (on) interact: the field description says PBR implies texture. Turning PBR off gives you a plain baked texture; turning both off gets you an untextured shape, which is a legitimate way to test geometry cheaply on the same budget.

    auto_size scales the result to real-world dimensions. Useful if the mesh is heading into a scene next to something with known scale - furniture, a car, a product shot.

    And the three seeds - image_seed, model_seed, texture_seed - each Set-mode and each covering a different stage (the internal text-to-image step, the geometry, the texture). Separate stages, separate seeds; that's more control than most hosted 3D wrappers give you.

    Finally the pack's two bookkeeping fields: generation_id is the paid-job identity (fixed reuses the recorded run, increment re-buys) and request_scope is the non-secret per-node scope the frontend assigns and headless clients must supply.

    Outputs

    model.3d, files, run id. Extensions follow the response's real content type, so check whether you got .glb, .gltf, .obj, .stl or .fbx before wiring it into a picky downstream node - the README is explicit that the actual format is authoritative. Protoface Save File writes the original into ComfyUI's output/ directory; Protoface Resume Run takes the run id and fetches a timed-out job without resubmitting.

    Install

    cd ComfyUI/custom_nodes
    git clone --branch v0.1.0 --depth 1 https://github.com/protoface-ai/protoface-comfyui.git protoface
    python -m pip install -r protoface/requirements.txt
    

    Manager route: search Protoface → install protoface-nodes → restart → reload the browser. ComfyUI 0.41.0+, Python 3.10+, and use ComfyUI's interpreter for pip. Key in via the Protoface button, bottom right; PROTOFACE_API_KEY / PROTOFACE_API_KEY_FILE for servers. Nothing downloaded, nothing compiled - which is the entire reason to pick this over building ComfyUI-3D-Pack.

    Traps

    Quads are a head start, not a finished asset: you'll still clean up UVs if the object has to be textured by hand. And auto_size can surprise you on stylised props - a "giant sword" comes back at plausible-sword scale, which is not what the concept art implied. Last one, the pack-wide classic: the API key sits in server memory, so after a restart every node in this pack fails auth until you re-enter it.

    CategoryProtoface/3D/tripo3d

    Inputs (14)

    NameTypeDefaultDescription
    promptSTRINGText description of the 3D object to generate. Maximum 1024 characters.
    auto_sizeBOOLEANfalseAuto-scale the model to real-world dimensions.
    face_limitCOMBOTarget number of faces for the generated mesh. If not set, the model adaptively determines the count.
    geometry_qualityCOMBOstandardQuality level for geometry.
    image_seedCOMBOSeed for the text-to-image step.
    model_seedCOMBOSeed for geometry generation reproducibility.
    negative_promptCOMBOText describing features to avoid in the generated model.Maximum 1024 characters.
    pbrBOOLEANtrueWhether to generate PBR (Physically Based Rendering) materials. If true, texture is also enabled.
    quadBOOLEANfalseGenerate quad (4-sided) mesh topology instead of triangles.
    textureBOOLEANtrueWhether to generate textures for the model.
    texture_qualityCOMBOstandardQuality level for textures. 'detailed' produces higher-resolution textures.
    texture_seedCOMBOSeed for texture generation reproducibility.
    generation_idINT00–9007199254740991Keep fixed to reuse/resume this paid job. Increment for a fresh paid generation; independent of the model seed.
    request_scopeSTRINGAutomatically assigned per node. Headless clients must supply a stable unique workflow/node ID. This is not a secret.

    Outputs (3)

    NameTypeDescription
    model.3dFILE_3D—
    filesPROTOFACE_FILE—
    run idSTRING—