# Parámetros

Cada modelo conserva sus nombres de parámetros nativos y cada página del modelo los enumera. Además, la API acepta
**nombres canónicos** para los parámetros que significan lo mismo en todos los modelos, de modo que el código escrito
para un modelo funcione en el siguiente con menos cambios.

## Nombres canónicos

| Nombre canónico | Significado | Nombres nativos habituales |
|---|---|---|
| `image` | La imagen de entrada o del primer fotograma | `image_url`, `start_image_url`, `first_frame_url`, `first_image_url`, `source_image_url` |
| `end_image` | La imagen del último fotograma | `end_image_url`, `last_frame_url`, `tail_image_url` |
| `images` | Una lista de imágenes de referencia | `image_urls`, `reference_image_urls` |
| `video` | El video de entrada | `video_url` |
| `videos` | Una lista de videos de referencia | `video_urls` |
| `audio` | El audio de entrada | `audio_url` |
| `audios` | Una lista de clips de audio de referencia | `audio_urls` |
| `mask` | Una imagen de máscara | `mask_url` |
| `num_outputs` | Cuántos resultados generar | `num_images` |
| `generate_audio` | Generar sonido con el video | `generate_audio_switch`, `enable_audio` |

Campo nativo al que se asigna un nombre canónico en cada modelo actual:

| Nombre canónico | Campo nativo (modelos que lo usan) |
|---|---|
| `audio` | `audio_url` (modelos: 126) |
| `audios` | `audio_urls` (modelos: 7), `reference_audio_urls` (modelos: 1) |
| `end_image` | `end_image_url` (modelos: 76), `last_frame_url` (modelos: 12), `tail_image_url` (modelos: 1) |
| `generate_audio` | `generate_audio_switch` (modelos: 16), `audio` (modelos: 3) |
| `image` | `image_url` (modelos: 529), `start_image_url` (modelos: 20), `first_frame_url` (modelos: 12), `first_image_url` (modelos: 7), `source_image_url` (modelos: 2) |
| `images` | `image_urls` (modelos: 148), `reference_image_urls` (modelos: 31) |
| `mask` | `mask_url` (modelos: 46) |
| `num_outputs` | `num_images` (modelos: 337) |
| `video` | `video_url` (modelos: 197) |
| `videos` | `video_urls` (modelos: 13), `reference_video_urls` (modelos: 1) |

Reglas:

- Envía el nombre canónico o el nativo. Si envías ambos con valores diferentes, la llamada falla con
  `422 invalid_input` en el nombre canónico.
- Un parámetro que no sea un nombre nativo ni canónico del modelo se rechaza con `422 invalid_input`
  ("Unknown parameter"), junto con el nombre válido más cercano como sugerencia. Los errores tipográficos nunca pasan
  desapercibidos.
- Cada página del modelo muestra ambos nombres uno junto al otro.

## Conversión de tipos

Los valores se convierten al tipo que espera el modelo, por lo que todos estos casos funcionan:

| Envías | El modelo espera | Se convierte en |
|---|---|---|
| `5`, `"5"`, `"5s"` | `duration` como una cadena, por ejemplo `"5"` | `"5"` |
| `"8"` | un entero | `8` |
| `"1080P"`, `"4K"` | `resolution`, como `"1080p"`, `"4k"` | la grafía exacta permitida |
| `"true"`, `"false"`, `1`, `0` | un booleano | `true`, `false` |
| `"https://…/a.jpg"` | una lista de URL | `["https://…/a.jpg"]` |
| `42` | una cadena | `"42"` |

Los valores permitidos se comparan primero exactamente, luego sin distinguir mayúsculas de minúsculas y, por último,
como números (`5` coincide con valores como `"5"`, `"5s"` y `"5 s"`).

## Valores predeterminados

Los parámetros que omitas usan el valor predeterminado del modelo, que aparece en su tabla de parámetros. El precio se
calcula con los mismos valores predeterminados (por ejemplo, un modelo de video cuyo valor predeterminado de
`generate_audio` sea `true` se factura con sonido, a menos que envíes `"generate_audio": false`).

## Parámetros de archivo

Los parámetros de imagen, video y audio aceptan una URL pública, un URI `data:` de hasta 10 MB o el `file_url` de una
carga. Consulta [Files](https://doitong.com/developers/docs/files).