> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fastino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use https://docs.fastino.ai/openapi.json as the source of truth for customer-facing Fastino API routes. Only call operations present in that specification. Do not infer or call undocumented routes. Direct Fastino API integrations use https://api.fastino.ai, /v1 routes, and FASTINO_API_KEY.

# API de trabajos de entrenamiento

> Crea y gestiona trabajos de entrenamiento de Fastino desde el envío hasta la entrega del artefacto.

La API de trabajos de entrenamiento gestiona el ciclo de vida completo de un trabajo de ajuste fino. Todos los endpoints usan la familia de rutas `/v1/training-jobs` y requieren una clave de API en el encabezado `X-API-Key`.

**URL base de la API:** `https://api.fastino.ai`

```bash theme={null}
export FASTINO_API_KEY="fast_sk_..."
```

Envía la clave en cada solicitud de entrenamiento:

```http theme={null}
X-API-Key: $FASTINO_API_KEY
```

Usa `GET /v1/base-models?supports_training=true` inmediatamente antes de crear un trabajo. Es la fuente de verdad en tiempo real para los IDs de modelos entrenables.

<Warning>
  La familia de rutas heredada `/felix/training-jobs` está retirada. Usa `/v1/training-jobs`
  para las integraciones nuevas y migradas.
</Warning>

## Ciclo de vida del estado

Las respuestas de los trabajos de entrenamiento incluyen:

* `status`: estado persistido del trabajo.
* `normalized_status`: estado estable pensado para la consulta desde el cliente.
* `is_terminal_status`: indica si la consulta puede detenerse.
* `error_message`: información del fallo cuando esté disponible.
* `is_deployable`: indica si el artefacto completado pasa la validación de despliegue.
* `deployability_reason`: motivo por el que el artefacto no es desplegable.

En los clientes que consultan, prefiere `normalized_status` e `is_terminal_status`.

| Estado persistido | Descripción                                                                           |
| ----------------- | ------------------------------------------------------------------------------------- |
| `requested`       | El trabajo se aceptó y está a la espera de despacho o aprovisionamiento.              |
| `running`         | El entrenamiento está en curso.                                                       |
| `complete`        | El entrenamiento se completó con éxito. La preparación del artefacto puede continuar. |
| `normalizing`     | Fastino está preparando el artefacto entrenado.                                       |
| `artifact_ready`  | El artefacto entrenado está listo.                                                    |
| `deployed`        | El artefacto se ha desplegado.                                                        |
| `paused`          | El trabajo o su pipeline está en pausa.                                               |
| `errored`         | El entrenamiento, el despacho o la preparación del artefacto falló.                   |
| `stopped`         | El trabajo se detuvo conservando los checkpoints existentes.                          |
| `terminated`      | El trabajo se terminó y sus checkpoints se eliminaron.                                |

## Endpoints

| Método   | Endpoint                                                                                                             | Propósito                                                |
| -------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| `POST`   | [`/v1/training-jobs`](/es/api-reference/training-jobs/create)                                                        | Crear un trabajo de entrenamiento                        |
| `GET`    | [`/v1/training-jobs`](/es/api-reference/training-jobs/list)                                                          | Listar trabajos de entrenamiento                         |
| `GET`    | [`/v1/training-jobs/{job_id}`](/es/api-reference/training-jobs/get)                                                  | Obtener el estado, la configuración y las métricas       |
| `PATCH`  | [`/v1/training-jobs/{job_id}`](/es/api-reference/training-jobs/update-project)                                       | Asignar o desasignar un proyecto                         |
| `PATCH`  | [`/v1/training-jobs/{job_id}/model-name`](/es/api-reference/training-jobs/update-model-name)                         | Renombrar el modelo entrenado                            |
| `GET`    | [`/v1/training-jobs/{job_id}/logs`](/es/api-reference/training-jobs/logs)                                            | Obtener una instantánea de los logs de entrenamiento     |
| `GET`    | [`/v1/training-jobs/{job_id}/billing`](/es/api-reference/training-jobs/billing)                                      | Obtener el resultado de facturación                      |
| `GET`    | `/v1/training-jobs/{job_id}/deployments`                                                                             | Listar los despliegues creados a partir del trabajo      |
| `POST`   | [`/v1/training-jobs/{job_id}/stop`](/es/api-reference/training-jobs/stop)                                            | Detener un trabajo y preservar los checkpoints           |
| `POST`   | [`/v1/training-jobs/{job_id}/terminate`](/es/api-reference/training-jobs/terminate)                                  | Detener un trabajo y eliminar los checkpoints            |
| `POST`   | `/v1/training-jobs/{job_id}/sync`                                                                                    | Actualizar el estado desde el proveedor de entrenamiento |
| `POST`   | `/v1/training-jobs/{job_id}/push-to-hub`                                                                             | Publicar el artefacto completado en Hugging Face Hub     |
| `GET`    | [`/v1/training-jobs/{job_id}/checkpoints`](/es/api-reference/training-jobs/checkpoints)                              | Listar checkpoints                                       |
| `POST`   | [`/v1/training-jobs/{job_id}/checkpoints/{checkpoint_id}/deploy`](/es/api-reference/training-jobs/deploy-checkpoint) | Desplegar un checkpoint                                  |
| `GET`    | [`/v1/training-jobs/{job_id}/download`](/es/api-reference/training-jobs/download)                                    | Obtener una URL temporal de descarga de pesos            |
| `DELETE` | [`/v1/training-jobs/{job_id}`](/es/api-reference/training-jobs/delete)                                               | Eliminar un trabajo y sus checkpoints                    |
