Documentation / Node reference / geo nodes

geo/GenerativeModel

Generates a model from a text prompt or from photos, through a hosted generative API.

Files

Press generate to send the prompt (and the images, in IMAGE and IMAGES mode) to the provider. A generation costs the provider's own credits and takes minutes: nothing is ever sent by a cook, only by the button. While the provider works the node shows an amber placeholder box and the button carries a progress bar.

The node is a subnet: the result arrives as a geo/SceneGLTF child, whose Build turns the downloaded GLB into an editable sub-graph with its materials and textures. The GLB is kept under the assets root at generative/<fingerprint>.glb, and a second press with nothing changed re-uses it instead of spending credits again.

On a native build the provider is called directly and its API key is read from ~/.config/polygon/keys/<provider> (one line, mode 0600); it is never a param and never saved in the scene. The generation costs the credits of whoever owns that key, which is you.

On polygonjs.com the browser never talks to a provider at all: the request goes to Polygon's own server, which holds the keys, meters the credits and hands back a URL. That needs a Polygon Web subscription, and the button says so if the account does not have one. Two things are narrower there than on native: a reference image cannot be sent yet (the server takes the image bytes and a browser build has no encoder for them, so only TEXT mode generates), and the progress bar is indeterminate, because the provider reports a state and never a number.

Parameters

Name Type What it does
provider UInt8 RODIN Which hosted API generates the model. Its key is read from ~/.config/polygon/keys/<provider>.
mode UInt8 TEXT · IMAGE · IMAGES What the provider is given: a text prompt alone, one image, or up to four views of the same subject.
prompt String What to generate. Required in TEXT mode; optional beside images, where the provider writes its own when this is empty.
image1 NodePath The tex node holding the first input image. A tex/Image sends its file as it is; any other tex node is encoded to PNG first.
image2 NodePath A second view of the same subject, in IMAGES mode.
image3 NodePath A third view of the same subject, in IMAGES mode.
image4 NodePath A fourth view of the same subject, in IMAGES mode.
quality UInt8 MINIMUM · LOW · MEDIUM · HIGH · EXTREME_HIGH How much the provider should spend on the result. Higher rungs cost more credits and take longer.
textured Bool Ask for a textured result. Rodin ignores it: no setting of its produces an untextured model.
targetPolygonCount UInt32 How many polygons to aim for, up to 300000. 0 leaves it to the provider, and Rodin has no recorded field for it.
seed SInt32 The provider's random seed, 0 to 65535. Below zero leaves it unseeded, so two presses give two different models.
regenerateMode UInt8 REPLACE · KEEP_UNTIL_READY What a second press does to the model already there: replace it with the placeholder at once, or keep it up until the new one lands.
generate Button Send the request. Costs credits (the provider's on native, the account's Polygon Web credits on polygonjs.com), takes minutes, and is disabled while a generation is running.
placeholderSize Float The size of the box shown in place of the model while the provider works.
_resultFingerprint String Bookkeeping, hidden: the fingerprint of the request whose result this node is holding, which is what makes a second identical press free.

See also

This page is generated from the engine, so it describes the release you can download. The same text is in the editor's Help panel next to the node itself.