# Registro de cambios

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

### Nueva arquitectura API

- **Los puntos finales dedicados reemplazan el punto final universal POST**: Los puntos finales de capacidad específica, como `POST /v3/generation/text-to-model`, reemplazan el punto final universal `POST /v2/openapi/task` anterior con un campo `type`
- **Convención de nomenclatura unificada `{input}-to-{output}`**: todos los puntos finales de generación utilizan nombres intuitivos como `text-to-model`, `image-to-multiview` y `multiview-to-model`.
- **Campo `input` unificado**: admite la inferencia automática de fuentes de entrada desde `task_id`, `file_token` o URL, sin necesidad de especificar manualmente el tipo de entrada.
- **Se eliminó la ruta redundante `/openapi`**: La base URL se simplifica de `/v2/openapi/` a `/v3/`.
- **La conversión de texto a imagen e imagen a imagen se separan en puntos finales dedicados**: `text-to-image` y `image-to-image` ya no se combinan en un único API.

### Cambios en los puntos finales

| Punto final v2 | Punto final 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}` |

### Cambios de campo

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

### Nuevas capacidades

- `POST /v3/tasks/list` - Consulta de tareas por lotes
- `POST /v3/files/upload-credentials`: obtenga credenciales de carga directa de archivos
- `GET /v3/account/usage`: consultar detalles de uso
