UV Unwrap
Re-unwrap an asset's UVs into a clean, editable layout — geometry and appearance stay the same, the texture coordinates get rebuilt.
When to use it
Generated meshes usually arrive with UVs that render correctly but are awkward to edit by hand — overlapping or fragmented islands. This endpoint re-parameterizes the mesh and re-bakes the source textures onto the new layout, so the model looks identical in a viewer while becoming workable in Blender, Substance Painter, or a game engine's texture tooling.
Base color, metallic/roughness (ORM) and normal maps are all carried over. The normal map is re-expressed in the new UV's tangent space rather than resampled, so surface detail survives the change.
Input limit
The face limit depends on the engine. A larger mesh is rejected with invalid_input and no credits are consumed — run Remesh first to reduce it, then unwrap the result.
pb-uv— fewer than 100,000 facestripo-uv— fewer than 50,000 facesmeshy-uv— fewer than 40,000 faceshunyuan-uv— fewer than 30,000 faces, and no more than 100 separate pieces that are too far apart to join
Parameters
| Parameter | Description |
|---|---|
| engine string | pb-uv (default) · tripo-uv · meshy-uv · hunyuan-uv. Optional — omit for pb-uv. List and prices: GET /v1/models?category=uv-unwrap. |
| license string | Output license. Defaults to all-rights-reserved (private). |
Request
curl -X POST https://api.picoberry.ai/v1/assets/019…/uv-unwrap \
-H "Authorization: Bearer pb_live_xxx" -H "Content-Type: application/json" \
-d '{}'requests.post(f"{BASE}/v1/assets/{id}/uv-unwrap", headers=headers, json={})await fetch(`${BASE}/v1/assets/${id}/uv-unwrap`, { method: "POST",
headers: { ...headers, "Content-Type": "application/json" },
body: JSON.stringify({}) });Returns a new asset — poll it like any generation.
Where it fits
The usual order is generate → remesh → UV unwrap → texture. Remesh rebuilds topology (and drops the old UVs with it), so unwrapping afterwards is what makes the result editable. Rigged assets are not accepted as a source: re-parameterizing the mesh does not carry skinning weights, so unwrap before you rig.