Tripo P1 API reference
Turn a toy or prop photo into a compact, clean low-poly mesh.
Call Tripo P1 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.72 USD per request
- Model IDs
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/p1/image-to-3d
Price
| Option | USD |
|---|---|
Default | $0.72 per request |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
image_urlRequired | string | — | — | The picture to turn into a 3D model: one object or character, fully in frame. JPEG, PNG or WebP up to 10 MB. |
generate_textureOptional | boolean | true | — | Paint a texture onto the mesh. On by default; turning it off only removes texturing if generate_pbr is off too. |
generate_pbrOptional | boolean | true | — | Add PBR material maps (metal-roughness and normal). On by default and switches texturing on. |
texture_qualityOptional | string | standard | standard, detailed, extreme, fast | Texture 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_versionOptional | string | v3.0-20250812 | v3.0-20250812, v3.5-20260815 | Texture 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_lightingOptional | boolean | true | — | 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. |
face_limitOptional | integer | — | 50 to 20000 | Target face count, 50 to 20,000. Leave empty to let the model decide. Does not change the price. |
image_autofixOptional | boolean | false | — | Clean up a blurry, noisy or low-resolution picture before generation. Slower. Off by default; does not change the price. |
model_orientationOptional | string | default | default, align_image | default keeps the standard orientation; align_image rotates the model to match the picture. |
texture_alignmentOptional | string | original_image | original_image, geometry | Align the texture to the original picture (the default) or to the generated geometry. |
auto_sizeOptional | boolean | false | — | Scale the mesh to estimated real-world dimensions. Off by default. |
uv_unwrapOptional | boolean | true | — | 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. |
seedOptional | integer | — | 0 to 2147483647 | Seed for the geometry step, for reproducible shapes. |
texture_seedOptional | integer | — | 0 to 2147483647 | Seed 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.
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/p1/image-to-3d",
"input": {
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"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.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"
