# Parámetros

Cada modelo conserva sus nombres de parámetros nativos, y cada página de 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 con 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 vídeo de entrada | `video_url` |
| `videos` | Una lista de vídeos 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 se deben generar | `num_images` |
| `generate_audio` | Generar sonido con el vídeo | `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"), con el nombre válido más cercano como sugerencia. Los errores tipográficos nunca pasan desapercibidos.
- Cada página de modelo muestra ambos nombres uno al lado del otro.

## Conversión de tipos

Los valores se convierten al tipo que espera el modelo, por lo que todos estos ejemplos 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 URLs | `["https://…/a.jpg"]` |
| `42` | una cadena | `"42"` |

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

## Valores predeterminados

Los parámetros que omitas utilizan el valor predeterminado del modelo, que aparece en su tabla de parámetros. El precio se
calcula con esos mismos valores predeterminados (por ejemplo, un modelo de vídeo 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, vídeo y audio aceptan una URL pública, un URI `data:` de hasta 10 MB o el `file_url` de una carga.
Consulta [Archivos](https://doitong.com/developers/docs/files).