# Generar el video de la caja con Seedance 2.5

Este script es un cliente local de una sola generación para la API oficial de Higgsfield. Requiere Node 18 o posterior y no instala paquetes.

Instala Node.js desde https://nodejs.org/ si todavía no lo tienes. Comprueba la instalación con `node --version`.

## 1. Crear la API key

1. Abre [API Keys de Higgsfield](https://open.higgsfield.ai/api-keys).
2. Crea una clave y cópiala completa. La API usa el formato `Key <clave-completa>`; no la partas ni añadas otro prefijo al valor guardado.
3. Configúrala solo en el entorno local.

macOS/Linux (Terminal):

```sh
export HF_API_KEY='PEGA_AQUI_LA_CLAVE_COMPLETA'
```

Windows PowerShell:

```powershell
$env:HF_API_KEY = 'PEGA_AQUI_LA_CLAVE_COMPLETA'
```

No pongas la clave en este repositorio, en el navegador, en una captura ni en un log. El saldo de la API es independiente de los créditos de la aplicación Higgsfield; revísalo en [Billing](https://open.higgsfield.ai/billing).

## 2. Ejecutar una prueba

Desde la carpeta donde guardaste este kit:

```sh
node generar-seedance.mjs 01-antes.png 02-despues.png 'cab moves forward beneath the bridge; the tall load strikes the fixed green steel edge; cardboard falls by gravity; the small carton lands on the pedestrian deck and stays there; handheld phone camera recoils; real-time motion; no speech, no music, no captions' salida.mp4
```

Si no hay imagen final, usa `-`:

```sh
node generar-seedance.mjs 01-antes.png - 'prompt...' salida.mp4
```

El script sube las referencias mediante URLs firmadas, envía una sola solicitud `bytedance/seedance-2.5/image-to-video` con duración de 6 s, 720p y `generate_audio: false`, guarda el `request_id` en `<salida>.request.json` antes de consultar el estado y espera como máximo diez minutos. Un fallo o timeout no se reintenta automáticamente. El resultado se descarga en la ruta indicada.

## Contrato y límites

- `image_url` es obligatorio; `end_image_url` es opcional.
- `duration` admite 4–30 s; este script fija 6 s.
- `resolution` admite 480p, 720p y 1080p; este script fija 720p.
- `generate_audio` está desactivado para esta prueba.
- Estados terminales manejados: `completed`, `failed`, `nsfw` y `canceled`.

Fuentes oficiales: [Quick start](https://open.higgsfield.ai/quick-start), [Seedance 2.5 Image-to-Video API reference](https://open.higgsfield.ai/models/bytedance/seedance-2.5/image-to-video/api-reference), y [índice de documentación](https://docs.higgsfield.ai/docs/llms.txt).

La integración no se probó contra una cuenta real en este paquete; las pruebas locales simulan respuestas de upload, submit, polling y descarga sin enviar solicitudes a Higgsfield.
