Tripo models API
Call 1 Tripo models through one PopNow API key: Tripo H3.1. Prices start at $0.432 per run.
- models
- 1
- endpoints
- 1
- starting price, per run
- $0.432
Tripo models
Choosing Tripo H3.1 for image-to-3D product meshes
One picture in, a textured mesh out
Tripo H3.1 turns a single picture into a 3D mesh. By default the mesh comes back as a GLB file with a texture. Four switches control the finish. generate_texture paints a texture onto the mesh and is on by default. generate_pbr adds metal-roughness and normal material maps, is also on by default, and switches texturing on. Turn both off for a plain white model. texture_quality set to detailed raises texture resolution for surfaces where color and print must read correctly, and geometry_quality set to detailed builds finer shape detail. quad_mesh returns four-sided polygons in an FBX file instead of a GLB, for teams that will edit the asset in modelling software. Set model_orientation to align_image when the model must face the way the picture does.
Price the job from the switches you send
The default price is $0.432 per mesh. A white model, with texture and PBR both off, is $0.288. Detailed texture adds $0.144, detailed geometry adds $0.288, and a quad mesh adds $0.072. Because the switches are independent, the same photo can cost very different amounts, so price each job from its option set rather than from a flat per-mesh assumption. Use face_limit to set a target between 1,000 and 2,000,000 faces when the mesh feeds a viewer or a real-time scene. In one test at a face_limit of 100,000, a job took about 170 seconds and produced a 5.6 MB file, which is a useful baseline when you plan storage and loading.
Pick inputs and inspect results the way a product team would
Tripo H3.1 is strongest on hard-surface objects such as shoes, products and furniture, where the shape is solid and the colors should match the photo. Send one object on a clean background, shot front-on or at a three-quarter view, with the whole object in frame. Crowded scenes and several objects in one picture make the result less predictable, so crop before you submit. After generation, check the mesh from more than one angle, confirm the scale when you use auto_size, and keep the source image, the switch values and the seed with the file. Keep seed fixed and change texture_seed to try a different texture on the same shape, which gives you a controlled way to compare finishes without changing the geometry.
Tripo API prices
See pricing| Model | Best for | List price | PopNow price | You save |
|---|---|---|---|---|
Tripo H3.1tripo/h3.1/image-to-3d | Image to 3D | — | $0.432per run |
List prices are each maker's own published price for the same output, checked on Oct 14, 2026. Prices shown are starting prices; open a model for every tier.
Call a Tripo model
The same request works for every model: change the model name and its input.
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_texture": true,
"generate_pbr": true,
"texture_quality": "standard",
"geometry_quality": "standard",
"model_orientation": "default"
}
}'import os, uuid, requests
res = requests.post(
"https://api.popnow.ai/api/v1/jobs/createTask",
headers={
"Authorization": f"Bearer {os.environ['POPNOW_API_KEY']}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={
"model": "tripo/h3.1/image-to-3d",
"input": {
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"generate_texture": True,
"generate_pbr": True,
"texture_quality": "standard",
"geometry_quality": "standard",
"model_orientation": "default"
}
},
timeout=30,
)
body = res.json()
if body["code"] != 200:
raise RuntimeError(f'{body["code"]} {body["msg"]}')
print(body["data"]["taskId"]) # poll this id, or wait for your callBackUrlconst res = await fetch("https://api.popnow.ai/api/v1/jobs/createTask", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.POPNOW_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({
"model": "tripo/h3.1/image-to-3d",
"input": {
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"generate_texture": true,
"generate_pbr": true,
"texture_quality": "standard",
"geometry_quality": "standard",
"model_orientation": "default"
}
}),
});
const { code, msg, data } = await res.json();
if (code !== 200) throw new Error(`${code} ${msg}`);
console.log(data.taskId); // poll this id, or wait for your callBackUrlFrequently asked questions
What does Tripo H3.1 return?
It returns one textured mesh. The default format is GLB. When quad_mesh is on, the file comes back as FBX with four-sided polygons instead, so modelling tools can edit it. Store the format with each job, because the file extension changes with that switch and downstream tools will need to read it correctly.
What is the difference between the texture and PBR switches?
generate_texture paints a texture onto the mesh and is on by default. generate_pbr adds metal-roughness and normal material maps and is also on by default, and turning it on switches texturing on. To get a plain white model, turn both off. Send them as separate fields, so your request states exactly which finish you asked for.
How much does a Tripo mesh cost?
The default price is $0.432 per mesh. A white model with texture and PBR off is $0.288. Detailed texture adds $0.144, detailed geometry adds $0.288, and a quad mesh adds $0.072. Price each job from the switches you send, because the same picture can cost very different amounts under different options.
Which input photos work best?
Use one object or character on a clean background, shot front-on or at a three-quarter angle, with the whole subject in frame. Hard-surface products such as shoes, cases and furniture give the most faithful shapes and colors. Avoid several objects in one picture, and crop tight before you submit so the model sees one clear subject.
How long does a generation take?
Generation is much slower than image generation. In a test at a face_limit of 100,000, one job took about 170 seconds and produced a 5.6 MB file. Submit the job as an asynchronous task, poll for the result, and plan storage and loading around the size of the GLB or FBX file you receive.
Other model makers
All model makers- Alibaba40 models−33%Wan 3.0 · Qwen Image 2.1 Pro · Qwen Image 2.1 Turbo · Qwen Image 2.1From $0.01 per image
- PopNow26 modelsFace Swap Pro · Face Swap Plus · Celebrity Look-Alike · Face SwapFrom $0.0012 per second
- Black Forest Labs21 models−33%FLUX.2 Max · FLUX 3 Klein Base LoRA · FLUX 3 Klein Base · FLUX 3From $0.006 per image
- ByteDance19 models−30%Seedance 2.5 · Seedream 5.0 Pro · Seed Audio 1.0 · OmniHuman 2.0From $0.024 per second
- MiniMax16 models−55%MiniMax H3 · MiniMax Speech 2.8 HD · MiniMax Music 3.0 · MiniMax H3 HighSpeedFrom $0.042 per image
- Kuaishou9 models−20%Kling 4.0 · Kling O3 · Kling 3.0 Turbo · Kling 3.0From $0.0512 per second
Start building in minutes
One key for every model, a USD balance you top up when you need to, and an exact price before every run.