PopNowAPI Docs
Main content

Tripo H3.1 API reference

Accurate 3D shapes and true colors from one product photo

Call Tripo H3.1 from your own code with one PopNow API key. Below are the exact model IDs to send, every input field the model accepts, what each request costs in USD, and a request you can paste into a terminal.

At a glance

Made by
Tripo
Output
Image
From
$0.288 USD per request

Prices are in USD, charged to your separate API wallet. A task reserves the maximum possible charge when accepted and settles actual usage on completion; any remainder is released. Failed tasks are not charged. Call POST /api/v1/jobs/quote for an exact quote before running.

Image to 3D

tripo/h3.1/image-to-3d

Price

OptionUSD
Default$0.432 per request

Parameters

FieldTypeDefaultAllowedWhat it does
image_urlRequiredstring——The picture to turn into a 3D model: one object or character, fully in frame. JPEG, PNG or WebP up to 10 MB.
generate_textureOptionalbooleantrue—Paint a texture onto the mesh. On by default; turning it off only removes texturing if generate_pbr is off too.
generate_pbrOptionalbooleantrue—Add PBR material maps (metal-roughness and normal). On by default and switches texturing on.
texture_qualityOptionalstringstandardstandard, detailed, extreme, fastTexture quality: standard (the default), detailed (higher resolution), extreme (8K) or fast (standard size, generated quicker with the v3.5 texture model). detailed and extreme cost more and only apply to textured meshes.
texture_versionOptionalstringv3.0-20250812v3.0-20250812, v3.5-20260815Texture model version: v3.0-20250812 (the default) or the newer v3.5-20260815. texture_quality fast and remove_lighting use v3.5. Does not change the price.
remove_lightingOptionalbooleantrue—Remove the lighting and shadows baked into the picture before texturing, so the texture reacts cleanly to scene lights. On by default; only takes effect with the v3.5 texture model. Does not change the price.
geometry_qualityOptionalstringstandardstandard, detailedGeometry detail: standard (the default) or detailed. detailed builds finer surface detail and costs more.
quad_meshOptionalbooleanfalse—Return four-sided (quad) polygons instead of triangles, for editing in modelling tools; the file then comes back as FBX instead of GLB. Off by default; adds to the price. Ignored when generate_parts is on.
low_polyOptionalbooleanfalse—Build a low-poly mesh with clean, hand-modelled-style topology instead of a dense scan-like one. Best for simple objects; keep face_limit at 20,000 or below with it. Off by default; adds to the price.
generate_partsOptionalbooleanfalse—Return the model split into separate, editable parts. Parts are untextured triangle meshes, so the texture options and quad_mesh are ignored and not charged. Off by default; costs more than the textured default.
face_limitOptionalinteger—1000 to 2000000Target face count, 1,000 to 2,000,000. Leave empty to let the model decide (often over a million faces). Does not change the price.
image_autofixOptionalbooleanfalse—Clean up a blurry, noisy or low-resolution picture before generation. Slower. Off by default; does not change the price.
model_orientationOptionalstringdefaultdefault, align_imagedefault keeps the standard orientation; align_image rotates the model to match the picture.
texture_alignmentOptionalstringoriginal_imageoriginal_image, geometryAlign the texture to the original picture (the default) or to the generated geometry.
auto_sizeOptionalbooleanfalse—Scale the mesh to estimated real-world dimensions. Off by default.
uv_unwrapOptionalbooleantrue—Unwrap UV coordinates during generation. On by default; turning it off is faster and gives a smaller file, but the mesh then has no UVs for texturing later. Does not change the price.
seedOptionalinteger—0 to 2147483647Seed for the geometry step, for reproducible shapes.
texture_seedOptionalinteger—0 to 2147483647Seed for the texture step. Keep seed fixed and change this to try new textures on the same shape.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

The example uses PopNow sample files in image_url. Replace them with your own public HTTPS links, uploads or saved assets.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "tripo/h3.1/image-to-3d",
  "input": {
    "image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
    "generate_parts": false,
    "low_poly": false,
    "quad_mesh": false,
    "geometry_quality": "standard",
    "texture_quality": "standard",
    "generate_pbr": true,
    "generate_texture": true
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Image to 3D

tripo/h3.1/text-to-3d

Price

OptionUSD
Default$0.288 per request

Parameters

FieldTypeDefaultAllowedWhat it does
promptRequiredstring—up to 1,024 charactersDescribe the object to build: shape, material, colour, style and scale. One object, fully visible. Up to 1,024 characters.
negative_promptOptionalstring—up to 255 charactersWhat the object should not have, written as a short list. Up to 255 characters.
generate_textureOptionalbooleantrue—Paint a texture onto the mesh. On by default; turning it off only removes texturing if generate_pbr is off too.
generate_pbrOptionalbooleantrue—Add PBR material maps (metal-roughness and normal). On by default and switches texturing on.
texture_qualityOptionalstringstandardstandard, detailed, extreme, fastTexture quality: standard (the default), detailed (higher resolution), extreme (8K) or fast (standard size, generated quicker with the v3.5 texture model). detailed and extreme cost more and only apply to textured meshes.
texture_versionOptionalstringv3.0-20250812v3.0-20250812, v3.5-20260815Texture model version: v3.0-20250812 (the default) or the newer v3.5-20260815. texture_quality fast and remove_lighting use v3.5. Does not change the price.
remove_lightingOptionalbooleantrue—Remove the lighting and shadows baked into the picture before texturing, so the texture reacts cleanly to scene lights. On by default; only takes effect with the v3.5 texture model. Does not change the price.
geometry_qualityOptionalstringstandardstandard, detailedGeometry detail: standard (the default) or detailed. detailed builds finer surface detail and costs more.
quad_meshOptionalbooleanfalse—Return four-sided (quad) polygons instead of triangles, for editing in modelling tools; the file then comes back as FBX instead of GLB. Off by default; adds to the price. Ignored when generate_parts is on.
low_polyOptionalbooleanfalse—Build a low-poly mesh with clean, hand-modelled-style topology instead of a dense scan-like one. Best for simple objects; keep face_limit at 20,000 or below with it. Off by default; adds to the price.
generate_partsOptionalbooleanfalse—Return the model split into separate, editable parts. Parts are untextured triangle meshes, so the texture options and quad_mesh are ignored and not charged. Off by default; costs more than the textured default.
face_limitOptionalinteger—1000 to 2000000Target face count, 1,000 to 2,000,000. Leave empty to let the model decide (often over a million faces). Does not change the price.
auto_sizeOptionalbooleanfalse—Scale the mesh to estimated real-world dimensions. Off by default.
uv_unwrapOptionalbooleantrue—Unwrap UV coordinates during generation. On by default; turning it off is faster and gives a smaller file, but the mesh then has no UVs for texturing later. Does not change the price.
seedOptionalinteger—0 to 2147483647Seed for the geometry step, for reproducible shapes.
image_seedOptionalinteger—0 to 2147483647Seed for the first step, which draws a reference picture from the prompt. Keep it fixed to keep the same starting picture.
texture_seedOptionalinteger—0 to 2147483647Seed for the texture step. Keep seed fixed and change this to try new textures on the same shape.

Example request

This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.

POST /api/v1/jobs/createTask
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "model": "tripo/h3.1/text-to-3d",
  "input": {
    "prompt": "A bright, cheerful scene with soft natural light",
    "generate_parts": false,
    "low_poly": false,
    "quad_mesh": false,
    "geometry_quality": "standard",
    "texture_quality": "standard",
    "generate_pbr": true,
    "generate_texture": true
  }
}'

The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Next steps

On this page