# AI3D API v2 model: tripo-p1-image Image-to-3D generation with Tripo's native P1 low-poly model. - AI3D model ID: `tripo-p1-image` (native Tripo API; separate from Fal's `tripo-p1`) - Task: `image_to_3d` - Provider adapter: `tripo` - Provider model version: `P1-20260311` - Availability: listed in `GET /v2/models` when the Tripo credential is configured. - 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-p1-image", "image_url": "https://example.com/object.png", "input": { "face_limit": 3000, "texture": true, "pbr": true } } ``` `image_url` must be a publicly reachable HTTPS PNG, JPEG, or WebP image (up to 20 MB at Tripo). AI3D uploads accept PNG, JPEG, or WebP up to 10 MiB at `POST /v2/uploads`; use its returned signed `image_url`. Optional settings: `face_limit` (50–20,000), `model_seed`, `texture`, `pbr`, `texture_seed`, `texture_quality` (`fast`, `standard`, or `detailed`), `texture_version` (`v3.5-20260815`, `v3.0-20250812`, or `v2.5-20250123`), `delight`, `auto_size`, `export_uv`, `export_orientation` (`+x`, `-x`, `-y`, or `+y`), `enable_image_autofix`, `texture_alignment` (`original_image` or `geometry`), and `orientation` (`default` or `align_image`). `fast` texture and `delight` require `texture_version: "v3.5-20260815"`. P1 does not support `quad`, `smart_low_poly`, `generate_parts`, or `geometry_quality`. The estimate follows Tripo's published P1 image pricing: 40 credits without texture, 50 with standard texture, and 60 with detailed texture. One Tripo credit is priced by AI3D at $0.01. AI3D reserves before dispatch and settles against Tripo's reported `credits_consumed`. Poll `GET /v2/jobs/{job_id}` until `succeeded`, `failed`, or `submission_unknown`. On success, inspect `artifacts` for the archived output. Use the same idempotency key when safely retrying a timed-out request; reconcile `submission_unknown` before creating another job.