Skip to main content
Use the 3D Model API when you need one object or character with downloadable model files.

Generate a 3D Model

Call POST /v1/models:generate with a prompt. Add name only when you want a specific title shown in Mint; Mint derives one when it is omitted. generationMode defaults to auto, and generationPreset defaults to standard. See Presets for the speed, quality, and cost tradeoffs.
Use one imageUrl or 2–8 sourceImages for visual guidance, never both. riggingPose can be t_pose or a_pose; it prepares a full-body, front-facing, empty-handed humanoid Preview for later rigging but does not rig or animate it.

Review and revise a Preview

The Preview is a fast visual proposal, not the final 3D Model. The recommended auto mode continues automatically; set generationMode: "review" only when your integration needs to inspect the Preview. Poll the operation until preview_ready, then:
  • Approve with POST /v1/models/{modelId}:approve. Send no request body.
  • Revise with POST /v1/models/{modelId}:revise and feedback. You can also set name, revisionEditStrength, generationMode, or riggingPose.
Use generationMode: "review" on a revision when you want another decision point. Omit it to continue automatically after the revised Preview.

Retrieve the 3D Model and its files

When the operation succeeds, read operation.resource.id, then call GET /v1/models/{modelId}. The response includes available GLB, optimized GLB, preview, thumbnail, and converted-format URLs. For a complete file inventory, use GET /v1/assets/model/{modelId}/artifact-manifest. Do not construct provider URLs.

Retry a failed generation

Use POST /v1/models/{modelId}:retry for a terminal failed generation. The optional body can replace prompt, name, generationMode, or generationPreset.

Optimize

Use POST /v1/models/{modelId}:optimize with optimizationLevel set to light, moderate, or aggressive. Optimization updates the model’s optimized file rather than creating another 3D Model. Repeating the same level while it is active returns 409 model-optimization-in-progress; repeating it after completion returns 409 model-already-optimized. Neither conflict starts new work or creates another charge. The original glbUrl remains available; the optimized file appears as assets.optimizedGlbUrl.

Smart topology

Use POST /v1/models/{modelId}:retopologize to create a topology-focused derivative. Set faceLevel to low, medium, or high, and optionally use name for the title shown in Mint. Each accepted request can create a new derivative; use a stable Idempotency-Key when retrying an uncertain request.

Convert

Use POST /v1/models/{modelId}:convert. The model ID in the URL must belong to your Mint account. External source URLs are not accepted.
Poll the operation, then read operation.conversion.assets for the requested glb, obj, stl, usdz, or fbx output.

Animate

Animation has its own workflow and output resources. Continue to Animation.