# Registro delle modifiche

## 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)

### Nuova architettura API

- **Gli endpoint dedicati sostituiscono l'endpoint universale POST**: gli endpoint specifici della funzionalità, come `POST /v3/generation/text-to-model`, sostituiscono il precedente endpoint universale `POST /v2/openapi/task` con un campo `type`
- **Convenzione di denominazione `{input}-to-{output}` unificata**: tutti gli endpoint di generazione utilizzano nomi intuitivi come `text-to-model`, `image-to-multiview` e `multiview-to-model`
- **Campo `input` unificato**: supporta l'inferenza automatica della sorgente di input da `task_id`, `file_token` o URL, senza richiedere di specificare manualmente il tipo di input
- **Rimosso il percorso ridondante `/openapi`**: La base URL è semplificata da `/v2/openapi/` a `/v3/`
- **Le funzioni testo-immagine e immagine-immagine sono separate in endpoint dedicati**: `text-to-image` e `image-to-image` non sono più combinati in un unico API

### Modifiche agli endpoint

| Punto finale v2 | Punto finale v3 |
| :-: | :-: |
| Tipo `POST /v2/openapi/task`=text_to_model | `POST /v3/generation/text-to-model` |
| Tipo `POST /v2/openapi/task`=image_to_model | `POST /v3/generation/image-to-model` |
| Tipo `POST /v2/openapi/task`=multiview_to_model | `POST /v3/generation/multiview-to-model` |
| Tipo `POST /v2/openapi/task`=text_to_image | `POST /v3/generation/text-to-image` |
| Tipo `POST /v2/openapi/task`=generate_image | `POST /v3/generation/image-to-image` |
| Tipo `POST /v2/openapi/task`=generate_multiview_image | `POST /v3/generation/image-to-multiview` |
| Tipo `POST /v2/openapi/task`=edit_multiview_image | `POST /v3/generation/edit-multiview` |
| Tipo `POST /v2/openapi/task`=refine_model | `POST /v3/models/refine` |
| Tipo `POST /v2/openapi/task`=convert_model | `POST /v3/models/convert` |
| Tipo `POST /v2/openapi/task`=import_model | `POST /v3/models/import` |
| Tipo `POST /v2/openapi/task`=stylize_model | `POST /v3/models/stylize` |
| Tipo `POST /v2/openapi/task`=texture_model | `POST /v3/models/texture` |
| Tipo `POST /v2/openapi/task`=animate_prerigcheck | `POST /v3/animations/rig-check` |
| Tipo `POST /v2/openapi/task`=animate_rig | `POST /v3/animations/rig` |
| Tipo `POST /v2/openapi/task`=animate_retarget | `POST /v3/animations/retarget` |
| Tipo `POST /v2/openapi/task`=mesh_segmentation | `POST /v3/mesh/segment` |
| Tipo `POST /v2/openapi/task`=mesh_completion | `POST /v3/mesh/complete` |
| Tipo `POST /v2/openapi/task`=highpoly_to_lowpoly | `POST /v3/mesh/decimate` |
| `GET /v2/openapi/task/{task_id}` | `GET /v3/tasks/{task_id}` |

### Modifiche di campo

| Campo v2 | Campo v3 |
| :-: | :-: |
| `create_time` | `created_at` |
| `consumed_credit` | `credits_consumed` |
| `file` / `file_token` / `url` / `object` | Unificato come `input` |

### Nuove capacità

- `POST /v3/tasks/list` - Attività di query in batch
- `POST /v3/files/upload-credentials` - Ottieni le credenziali per il caricamento diretto dei file
- `GET /v3/account/usage` - Richiedi dettagli sull'utilizzo
