# Journal des modifications
## Retopology v3.0 and Smart UV (2026-10)
- **Retopology v3.0**: `POST /v3/mesh/decimate` accepts `model=v3.0`. The default is still `v2.0`, so existing requests behave the same. `face_limit` is 500–20,000 for triangle output and 500–10,000 for quad output; omit it for adaptive reduction. v3.0 is priced by output topology: **35** credits for a triangle mesh, **40** for a quad mesh (`quad=true`). v2.0 stays at 30 and v1.0 is unchanged.
- **`smart_uv`** (boolean, default `false`): unwraps UVs as part of v3.0 retopology at no extra cost. Passing it with v1.0 or v2.0 returns `400` (`1004`). It does not produce a UV atlas preview image.
- **Smart UV**: new `POST /v3/mesh/uv` re-unwraps a model's UVs and remaps its existing textures, rigging and animation onto the new layout; the result also carries a UV atlas preview (`uv_render_url`). **20** credits per task. The input model must not exceed 80,000 equivalent triangles.
## Texture model v3.5-20260815 (2026-09)
A new texture model, reachable from two entry points:
- **`POST /v3/models/texture`**: `model` now accepts `v3.5-20260815`. The default is still `v3.0-20250812`, so requests that omit the field are unchanged.
- **Generation endpoints** (`text-to-model`, `image-to-model`, `multiview-to-model`, including P1 / P2): new `texture_version` pins the texture model independently of the geometry `model`. Supported values are `v3.5-20260815`, `v3.0-20250812`, and `v2.5-20250123`; if omitted it is derived from the geometry version (v2.5 geometry → `v2.5-20250123`, otherwise `v3.0-20250812`).
Two new parameters ship with it, **both effective only on v3.5 textures**:
- **`texture_quality=fast`**: a new quality tier — the fastest generation, trading texture detail for speed. **Output texture size and credit cost are both identical to `standard`**; only the level of detail is lower. Requesting it on any other texture version returns `1004` instead of silently downgrading to `standard`.
- **`delight`** (boolean, default `true`): removes baked-in lighting from the reference image before texturing; set `false` to keep the original shading. Older texture versions ignore it.
## GPT Image 2.5, quality tiers and transparent backgrounds (2026-09)
`POST /v3/generation/text-to-image` and `POST /v3/generation/image-to-image` now accept two new models, the GPT Image 2/2.5 family gains a `quality` parameter, and the two 2.5 models gain a `background` parameter.
- **New models**: `chat_image_2.5_flare` and `chat_image_2.5_sunburst`. They cost the same and differ in trade-off — flare is noticeably faster, sunburst preserves the untouched parts of an edited image more closely.
- **`quality`**: accepted only by `chat_image_2` (`low`, `medium`, `high`) and the two 2.5 models (additionally `xhigh`, `max`). Omitting it is equivalent to `low` — note this differs from OpenAI's own default of `auto`, which is not supported here. `high`/`xhigh`/`max` cost extra credits; see the Pricing page.
- **`background`**: `auto`, `opaque` or `transparent`, supported by the two 2.5 models only. Omit it to let the model decide. Passing it with any other model is ignored rather than rejected, so existing requests keep working unchanged.
- **`transparent` requires `output_format=png`**: JPEG carries no alpha channel, so that combination returns an error instead of silently flattening the transparency.
- **Custom sizes**: `chat_image_2` and the 2.5 models accept any `WIDTHxHEIGHT` where each edge is at most 3840 and a multiple of 16, the long edge is at most 3x the short edge, and total pixels fall between 655,360 and 8,294,400. The previous presets continue to work.
- **Retirement**: `chat_image_1` will be retired on **2026-10-23** and `chat_image_1.5` on **2026-12-01**. Migrate to `chat_image_2` or the 2.5 models before those dates.
## P2 series model (2026-08)
`POST /v3/generation/text-to-model`, `image-to-model`, and `multiview-to-model` now accept `model=P2-20260801` (an upgrade of P1).
- **P2-only parameters**: `quad` (quad mesh). Sending `quad=true` with P1 returns `400`; switch to P2 or remove the field.
- **`face_limit`**: triangle 48–50,000; with `quad=true`, 48–25,000. Omitted = adaptive.
- **Credits**: 100 without texture; `standard` / `detailed` / `extreme` = 110 / 120 / 130 (same texture add-ons as P1).
- **P1** (`P1-20260311`) remains available; P1 does not support `quad`, `smart_low_poly`, `generate_parts`, or `geometry_quality`.
## Documentation correction (2026-08)
\`credits_consumed\`, \`balance\`, and \`frozen\` are JSON **numbers** with up to two decimal places (e.g. \`48.00\`, \`41465.00\`). Parse them as floating-point or decimal values — **do not** use integer parsing (\`int\`, \`parseInt\`, etc.), which will fail or truncate fractional credits (e.g. VIP discounts).
## v3.0 (2026-04)
### Nouvelle architecture API
- **Les points de terminaison dédiés remplacent le point de terminaison universel POST** : les points de terminaison spécifiques à une capacité, tels que `POST /v3/generation/text-to-model`, remplacent le précédent point de terminaison universel `POST /v2/openapi/task` par un champ `type`.
- **Convention de dénomination unifiée `{input}-to-{output}`** : tous les points de terminaison de génération utilisent des noms intuitifs tels que `text-to-model`, `image-to-multiview` et `multiview-to-model`.
- **Champ `input` unifié** : prend en charge l'inférence automatique de source d'entrée à partir de `task_id`, `file_token` ou URL, sans que vous ayez à spécifier manuellement le type d'entrée.
- **Suppression du chemin `/openapi` redondant** : La base URL est simplifiée de `/v2/openapi/` à `/v3/`
- **Le texte vers l'image et l'image vers l'image sont séparés en points de terminaison dédiés** : `text-to-image` et `image-to-image` ne sont plus combinés en un seul API
### Modifications des points de terminaison
| Point de terminaison v2 | Point de terminaison v3 |
| :-: | :-: |
| Type `POST /v2/openapi/task`=text_to_model | `POST /v3/generation/text-to-model` |
| Type `POST /v2/openapi/task`=image_to_model | `POST /v3/generation/image-to-model` |
| Type `POST /v2/openapi/task`=multiview_to_model | `POST /v3/generation/multiview-to-model` |
| Type `POST /v2/openapi/task`=text_to_image | `POST /v3/generation/text-to-image` |
| Type `POST /v2/openapi/task`=generate_image | `POST /v3/generation/image-to-image` |
| Type `POST /v2/openapi/task`=generate_multiview_image | `POST /v3/generation/image-to-multiview` |
| Type `POST /v2/openapi/task`=edit_multiview_image | `POST /v3/generation/edit-multiview` |
| Type `POST /v2/openapi/task`=refine_model | `POST /v3/models/refine` |
| Type `POST /v2/openapi/task`=convert_model | `POST /v3/models/convert` |
| Type `POST /v2/openapi/task`=import_model | `POST /v3/models/import` |
| Type `POST /v2/openapi/task`=stylize_model | `POST /v3/models/stylize` |
| Type `POST /v2/openapi/task`=texture_model | `POST /v3/models/texture` |
| Type `POST /v2/openapi/task`=animate_prerigcheck | `POST /v3/animations/rig-check` |
| Type `POST /v2/openapi/task`=animate_rig | `POST /v3/animations/rig` |
| Type `POST /v2/openapi/task`=animate_retarget | `POST /v3/animations/retarget` |
| Type `POST /v2/openapi/task`=mesh_segmentation | `POST /v3/mesh/segment` |
| Type `POST /v2/openapi/task`=mesh_completion | `POST /v3/mesh/complete` |
| Type `POST /v2/openapi/task`=highpoly_to_lowpoly | `POST /v3/mesh/decimate` |
| `GET /v2/openapi/task/{task_id}` | `GET /v3/tasks/{task_id}` |
### Modifications des champs
| Champ v2 | Champ v3 |
| :-: | :-: |
| `create_time` | `created_at` |
| `consumed_credit` | `credits_consumed` |
| `file` / `file_token` / `url` / `object` | Unifié sous le nom de `input` |
### Nouvelles capacités
- `POST /v3/tasks/list` - Tâches de requête par lots
- `POST /v3/files/upload-credentials` - Obtenez les informations d'identification de téléchargement direct de fichiers
- `GET /v3/account/usage` – Détails d'utilisation de la requête
Journal des modifications
Retopology v3.0 and Smart UV (2026-10)
Retopology v3.0: POST /v3/mesh/decimate accepts model=v3.0. The default is still v2.0, so existing requests behave the same. face_limit is 500–20,000 for triangle output and 500–10,000 for quad output; omit it for adaptive reduction. v3.0 is priced by output topology: 35 credits for a triangle mesh, 40 for a quad mesh (quad=true). v2.0 stays at 30 and v1.0 is unchanged.
smart_uv (boolean, default false): unwraps UVs as part of v3.0 retopology at no extra cost. Passing it with v1.0 or v2.0 returns 400 (1004). It does not produce a UV atlas preview image.
Smart UV: new POST /v3/mesh/uv re-unwraps a model’s UVs and remaps its existing textures, rigging and animation onto the new layout; the result also carries a UV atlas preview (uv_render_url). 20 credits per task. The input model must not exceed 80,000 equivalent triangles.
Texture model v3.5-20260815 (2026-09)
A new texture model, reachable from two entry points:
POST /v3/models/texture: model now accepts v3.5-20260815. The default is still v3.0-20250812, so requests that omit the field are unchanged.
Generation endpoints (text-to-model, image-to-model, multiview-to-model, including P1 / P2): new texture_version pins the texture model independently of the geometry model. Supported values are v3.5-20260815, v3.0-20250812, and v2.5-20250123; if omitted it is derived from the geometry version (v2.5 geometry → v2.5-20250123, otherwise v3.0-20250812).
Two new parameters ship with it, both effective only on v3.5 textures:
texture_quality=fast: a new quality tier — the fastest generation, trading texture detail for speed. Output texture size and credit cost are both identical to standard; only the level of detail is lower. Requesting it on any other texture version returns 1004 instead of silently downgrading to standard.
delight (boolean, default true): removes baked-in lighting from the reference image before texturing; set false to keep the original shading. Older texture versions ignore it.
GPT Image 2.5, quality tiers and transparent backgrounds (2026-09)
POST /v3/generation/text-to-image and POST /v3/generation/image-to-image now accept two new models, the GPT Image 2/2.5 family gains a quality parameter, and the two 2.5 models gain a background parameter.
New models: chat_image_2.5_flare and chat_image_2.5_sunburst. They cost the same and differ in trade-off — flare is noticeably faster, sunburst preserves the untouched parts of an edited image more closely.
quality: accepted only by chat_image_2 (low, medium, high) and the two 2.5 models (additionally xhigh, max). Omitting it is equivalent to low — note this differs from OpenAI’s own default of auto, which is not supported here. high/xhigh/max cost extra credits; see the Pricing page.
background: auto, opaque or transparent, supported by the two 2.5 models only. Omit it to let the model decide. Passing it with any other model is ignored rather than rejected, so existing requests keep working unchanged.
transparent requires output_format=png: JPEG carries no alpha channel, so that combination returns an error instead of silently flattening the transparency.
Custom sizes: chat_image_2 and the 2.5 models accept any WIDTHxHEIGHT where each edge is at most 3840 and a multiple of 16, the long edge is at most 3x the short edge, and total pixels fall between 655,360 and 8,294,400. The previous presets continue to work.
Retirement: chat_image_1 will be retired on 2026-10-23 and chat_image_1.5 on 2026-12-01. Migrate to chat_image_2 or the 2.5 models before those dates.
P2 series model (2026-08)
POST /v3/generation/text-to-model, image-to-model, and multiview-to-model now accept model=P2-20260801 (an upgrade of P1).
P2-only parameters: quad (quad mesh). Sending quad=true with P1 returns 400; switch to P2 or remove the field.
face_limit: triangle 48–50,000; with quad=true, 48–25,000. Omitted = adaptive.
Credits: 100 without texture; standard / detailed / extreme = 110 / 120 / 130 (same texture add-ons as P1).
P1 (P1-20260311) remains available; P1 does not support quad, smart_low_poly, generate_parts, or geometry_quality.
Documentation correction (2026-08)
`credits_consumed`, `balance`, and `frozen` are JSON numbers with up to two decimal places (e.g. `48.00`, `41465.00`). Parse them as floating-point or decimal values — do not use integer parsing (`int`, `parseInt`, etc.), which will fail or truncate fractional credits (e.g. VIP discounts).
v3.0 (2026-04)
Nouvelle architecture API
Les points de terminaison dédiés remplacent le point de terminaison universel POST : les points de terminaison spécifiques à une capacité, tels que POST /v3/generation/text-to-model, remplacent le précédent point de terminaison universel POST /v2/openapi/task par un champ type.
Convention de dénomination unifiée {input}-to-{output} : tous les points de terminaison de génération utilisent des noms intuitifs tels que text-to-model, image-to-multiview et multiview-to-model.
Champ input unifié : prend en charge l’inférence automatique de source d’entrée à partir de task_id, file_token ou URL, sans que vous ayez à spécifier manuellement le type d’entrée.
Suppression du chemin /openapi redondant : La base URL est simplifiée de /v2/openapi/ à /v3/
Le texte vers l’image et l’image vers l’image sont séparés en points de terminaison dédiés : text-to-image et image-to-image ne sont plus combinés en un seul API
Modifications des points de terminaison
Point de terminaison v2
Point de terminaison v3
Type POST /v2/openapi/task=text_to_model
POST /v3/generation/text-to-model
Type POST /v2/openapi/task=image_to_model
POST /v3/generation/image-to-model
Type POST /v2/openapi/task=multiview_to_model
POST /v3/generation/multiview-to-model
Type POST /v2/openapi/task=text_to_image
POST /v3/generation/text-to-image
Type POST /v2/openapi/task=generate_image
POST /v3/generation/image-to-image
Type POST /v2/openapi/task=generate_multiview_image
POST /v3/generation/image-to-multiview
Type POST /v2/openapi/task=edit_multiview_image
POST /v3/generation/edit-multiview
Type POST /v2/openapi/task=refine_model
POST /v3/models/refine
Type POST /v2/openapi/task=convert_model
POST /v3/models/convert
Type POST /v2/openapi/task=import_model
POST /v3/models/import
Type POST /v2/openapi/task=stylize_model
POST /v3/models/stylize
Type POST /v2/openapi/task=texture_model
POST /v3/models/texture
Type POST /v2/openapi/task=animate_prerigcheck
POST /v3/animations/rig-check
Type POST /v2/openapi/task=animate_rig
POST /v3/animations/rig
Type POST /v2/openapi/task=animate_retarget
POST /v3/animations/retarget
Type POST /v2/openapi/task=mesh_segmentation
POST /v3/mesh/segment
Type POST /v2/openapi/task=mesh_completion
POST /v3/mesh/complete
Type POST /v2/openapi/task=highpoly_to_lowpoly
POST /v3/mesh/decimate
GET /v2/openapi/task/{task_id}
GET /v3/tasks/{task_id}
Modifications des champs
Champ v2
Champ v3
create_time
created_at
consumed_credit
credits_consumed
file / file_token / url / object
Unifié sous le nom de input
Nouvelles capacités
POST /v3/tasks/list - Tâches de requête par lots
POST /v3/files/upload-credentials - Obtenez les informations d’identification de téléchargement direct de fichiers
GET /v3/account/usage – Détails d’utilisation de la requête