# AI3D API v2 model: tripo-texture Re-texture an existing 3D model with Tripo's texture endpoint. - AI3D model ID: `tripo-texture` (native Tripo API, `models/texture`) - Task: `model_to_model` - Provider adapter: `tripo` - Default provider model version: `v3.0-20250812` - Availability: listed in `GET /v2/models` only once Tripo operations are enabled on the deployment. Until then `POST /v2/jobs` returns `400 unknown model`. - Provider reference: Create a normal prepaid AI3D job. Do not call Tripo directly or put a provider key in a client. ```http POST https://api.ai3d.dev/v2/jobs Authorization: Bearer Content-Type: application/json Idempotency-Key: ``` ```json { "model": "tripo-texture", "source_job_id": "3f6c0e2e-6a3f-4f1e-9d0c-1b2a3c4d5e6f", "input": { "texture_quality": "detailed", "texture_prompt": {"text": "worn brown leather"} } } ``` Source model: send exactly one of these top-level fields. Do not put them inside `input`. - `source_job_id`: the UUID of your own completed Tripo job (`tripo-h31-image`, `tripo-h31-text`, `tripo-p1-image`, `tripo-p1-text`, or `tripo-p1-multiview`). - `model_url`: a public HTTPS link to a GLB, GLTF, FBX, OBJ, or STL file (up to 150 MB at Tripo). AI3D does not fetch it; Tripo does. With `model_url`, `input.texture_prompt.text` is required because Tripo makes guidance optional only for models it generated. Jobs created by Fal-hosted Tripo models or any other provider cannot be used as `source_job_id` and return 422. Use `model_url` instead; for a public GLB or GLTF job you can pass its public viewer artifact URL. Optional `input` settings: `model` (`v3.5-20260815`, `v3.0-20250812`, or `v2.5-20250123`), `texture_prompt` (object with only `text`, 1 to 1024 characters), `pbr`, `texture_seed`, `texture_alignment` (`original_image` or `geometry`), `texture_quality` (`fast`, `standard`, `detailed`, or `extreme`), `compress` (`geometry`), `bake`, and `delight`. `texture_quality: "fast"` and `delight: true` require `model: "v3.5-20260815"`. Reserve (an upper bound, in Tripo credits at $0.01 each): | `texture_quality` | Credits | USD | | --- | --- | --- | | omitted, `fast`, `standard` | 10 | 0.10 | | `detailed` | 20 | 0.20 | | `extreme` | 30 | 0.30 | AI3D reserves before dispatch and settles against Tripo's reported credits, never more than the reserve. A job that fails at Tripo is not charged. Errors: `404` source job not found (also returned for another account's job), `409` source job has not completed successfully, `422` invalid settings or a source job that cannot be used. Failed jobs report `provider_input_invalid`, `provider_request_rejected`, or `provider_insufficient_credits`. Output: the textured model is archived in `artifacts` (usually GLB) together with a preview image. Poll `GET /v2/jobs/{job_id}` until `succeeded`, `failed`, or `submission_unknown`. Use the same idempotency key when safely retrying a timed-out request.