# Parâmetros

Cada modelo mantém seus nomes de parâmetros nativos, e cada página de modelo os lista. Além disso, a API aceita
**nomes canônicos** para os parâmetros que têm o mesmo significado em todos os modelos, para que o código escrito
para um modelo funcione no próximo com menos alterações.

## Nomes canônicos

| Nome canônico | Significado | Nomes nativos comuns |
|---|---|---|
| `image` | A imagem de entrada ou do primeiro quadro | `image_url`, `start_image_url`, `first_frame_url`, `first_image_url`, `source_image_url` |
| `end_image` | A imagem do último quadro | `end_image_url`, `last_frame_url`, `tail_image_url` |
| `images` | Uma lista de imagens de referência | `image_urls`, `reference_image_urls` |
| `video` | O vídeo de entrada | `video_url` |
| `videos` | Uma lista de vídeos de referência | `video_urls` |
| `audio` | O áudio de entrada | `audio_url` |
| `audios` | Uma lista de clipes de áudio de referência | `audio_urls` |
| `mask` | Uma imagem de máscara | `mask_url` |
| `num_outputs` | Quantos resultados gerar | `num_images` |
| `generate_audio` | Gerar som com o vídeo | `generate_audio_switch`, `enable_audio` |

Qual campo nativo ao qual um nome canônico corresponde em cada modelo atual:

| Nome canônico | Campo nativo (modelos que o utilizam) |
|---|---|
| `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) |

Regras:

- Envie o nome canônico ou o nativo. Se você enviar ambos com valores diferentes, a chamada falhará com
  `422 invalid_input` no nome canônico.
- Um parâmetro que não seja um nome nativo nem canônico do modelo será rejeitado com `422 invalid_input`
  ("Parâmetro desconhecido"), com o nome válido mais próximo como sugestão. Erros de digitação nunca passam silenciosamente.
- Cada página de modelo mostra os dois nomes lado a lado.

## Coerção de tipos

Os valores são convertidos para o tipo esperado pelo modelo, portanto todos estes exemplos funcionam:

| Você envia | O modelo espera | Torna-se |
|---|---|---|
| `5`, `"5"`, `"5s"` | `duration` como uma string, por exemplo, `"5"` | `"5"` |
| `"8"` | um inteiro | `8` |
| `"1080P"`, `"4K"` | `resolution`, como `"1080p"`, `"4k"` | a grafia exata permitida |
| `"true"`, `"false"`, `1`, `0` | um booleano | `true`, `false` |
| `"https://…/a.jpg"` | uma lista de URLs | `["https://…/a.jpg"]` |
| `42` | uma string | `"42"` |

Os valores permitidos são comparados primeiro exatamente, depois ignorando maiúsculas e minúsculas e, por fim, como números (`5` corresponde a `"5"`, `"5s"` e valores no estilo
`"5 s"`).

## Padrões

Os parâmetros que você omitir usarão o padrão do modelo, listado na tabela de parâmetros do modelo. O preço é
calculado com os mesmos padrões (por exemplo, um modelo de vídeo cujo `generate_audio` tenha como padrão `true` será precificado com
som, a menos que você envie `"generate_audio": false`).

## Parâmetros de arquivo

Os parâmetros de imagem, vídeo e áudio aceitam uma URL pública, uma URI `data:` de até 10 MB ou o `file_url` de um upload.
Consulte [Files](https://doitong.com/developers/docs/files).