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 source must have fewer than 30,000 faces. A larger mesh is rejected with invalid_input and no credits are consumed — run Remesh first to reduce it, then unwrap the result.
Parameters
| Parameter | Description |
|---|---|
| engine string | hunyuan-uv. Optional — omit for the default. List: 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.