# Журнал изменений

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

### Новая архитектура API

- **Выделенные конечные точки заменяют универсальную конечную точку POST**: Конечные точки с конкретными возможностями, такие как `POST /v3/generation/text-to-model`, заменяют предыдущую универсальную конечную точку `POST /v2/openapi/task` полем `type`.
- **Единое соглашение об именах `{input}-to-{output}`**: все конечные точки поколения используют интуитивно понятные имена, такие как `text-to-model`, `image-to-multiview` и `multiview-to-model`.
- **Единое поле `input`**: поддерживает автоматический вывод источника входных данных из `task_id`, `file_token` или URL без необходимости вручную указывать тип входных данных.
- **Удален лишний путь `/openapi`**: Базовый URL упрощен с `/v2/openapi/` до `/v3/`.
- **Преобразование текста в изображение и изображение в изображение разделены на отдельные конечные точки**: `text-to-image` и `image-to-image` больше не объединяются в один API.

### Изменения конечной точки

| v2 Конечная точка | v3 Конечная точка |
| :-: | :-: |
| Тип `POST /v2/openapi/task`=text_to_model | `POST /v3/generation/text-to-model` |
| Тип `POST /v2/openapi/task`=image_to_model | `POST /v3/generation/image-to-model` |
| Тип `POST /v2/openapi/task`=multiview_to_model | `POST /v3/generation/multiview-to-model` |
| Тип `POST /v2/openapi/task`=text_to_image | `POST /v3/generation/text-to-image` |
| Тип `POST /v2/openapi/task`=generate_image | `POST /v3/generation/image-to-image` |
| Тип `POST /v2/openapi/task`=generate_multiview_image | `POST /v3/generation/image-to-multiview` |
| Тип `POST /v2/openapi/task`=edit_multiview_image | `POST /v3/generation/edit-multiview` |
| Тип `POST /v2/openapi/task`=refine_model | `POST /v3/models/refine` |
| Тип `POST /v2/openapi/task`=convert_model | `POST /v3/models/convert` |
| Тип `POST /v2/openapi/task`=import_model | `POST /v3/models/import` |
| Тип `POST /v2/openapi/task`=stylize_model | `POST /v3/models/stylize` |
| Тип `POST /v2/openapi/task`=texture_model | `POST /v3/models/texture` |
| Тип `POST /v2/openapi/task`=animate_prerigcheck | `POST /v3/animations/rig-check` |
| Тип `POST /v2/openapi/task`=animate_rig | `POST /v3/animations/rig` |
| Тип `POST /v2/openapi/task`=animate_retarget | `POST /v3/animations/retarget` |
| Тип `POST /v2/openapi/task`=mesh_segmentation | `POST /v3/mesh/segment` |
| Тип `POST /v2/openapi/task`=mesh_completion | `POST /v3/mesh/complete` |
| Тип `POST /v2/openapi/task`=highpoly_to_lowpoly | `POST /v3/mesh/decimate` |
| `GET /v2/openapi/task/{task_id}` | `GET /v3/tasks/{task_id}` |

### Изменения полей

| Поле v2 | Поле v3 |
| :-: | :-: |
| `create_time` | `created_at` |
| `consumed_credit` | `credits_consumed` |
| `file` / `file_token` / `url` / `object` | Унифицирован как `input` |

### Новые возможности

- `POST /v3/tasks/list` — пакетный запрос задач
- `POST /v3/files/upload-credentials` — получить учетные данные для прямой загрузки файлов.
- `GET /v3/account/usage` — запрос сведений об использовании
