# Parâmetros

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

## Nomes canónicos

| Nome canónico | Significado | Nomes nativos comuns |
|---|---|---|
| `image` | A imagem de entrada ou do primeiro fotograma | `image_url`, `start_image_url`, `first_frame_url`, `first_image_url`, `source_image_url` |
| `end_image` | A imagem do último fotograma | `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` |

O 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 nome nativo. Se enviar ambos com valores diferentes, a chamada falha com
  `422 invalid_input` no nome canónico.
- Um parâmetro que não seja um nome nativo nem canónico do modelo é rejeitado com `422 invalid_input`
  ("Unknown parameter"), com o nome válido mais próximo como sugestão. Os erros de digitação nunca passam despercebidos.
- Cada página de modelo apresenta ambos os nomes lado a lado.

## Conversão de tipos

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

| Envia | O modelo espera | Converte-se em |
|---|---|---|
| `5`, `"5"`, `"5s"` | `duration` como uma string, por exemplo `"5"` | `"5"` |
| `"8"` | um número inteiro | `8` |
| `"1080P"`, `"4K"` | `resolution`, como `"1080p"`, `"4k"` | a grafia exata permitida |
| `"true"`, `"false"`, `1`, `0` | um valor 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 sem distinção entre maiúsculas e minúsculas e, por fim, como números (`5` corresponde a `"5"`, `"5s"` e valores no estilo de
`"5 s"`).

## Valores predefinidos

Os parâmetros que omitir utilizam o valor predefinido do modelo, indicado na tabela de parâmetros do modelo. O preço é
calculado com os mesmos valores predefinidos (por exemplo, um modelo de vídeo cujo `generate_audio` tem o valor predefinido
`true` é tarifado com som, a menos que envie `"generate_audio": false`).

## Parâmetros de ficheiros

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