# Parameters

Elk model behoudt zijn native parameternamen en elke modelpagina vermeldt deze. Daarnaast accepteert de API
**canonieke namen** voor parameters die op elk model hetzelfde betekenen, zodat code die voor één model is geschreven
met minder wijzigingen voor het volgende model werkt.

## Canonieke namen

| Canonieke naam | Betekenis | Gebruikelijke native namen |
|---|---|---|
| `image` | De invoerafbeelding of afbeelding van het eerste frame | `image_url`, `start_image_url`, `first_frame_url`, `first_image_url`, `source_image_url` |
| `end_image` | De afbeelding van het laatste frame | `end_image_url`, `last_frame_url`, `tail_image_url` |
| `images` | Een lijst met referentieafbeeldingen | `image_urls`, `reference_image_urls` |
| `video` | De invoervideo | `video_url` |
| `videos` | Een lijst met referentievideo's | `video_urls` |
| `audio` | De invoeraudio | `audio_url` |
| `audios` | Een lijst met referentieaudioclips | `audio_urls` |
| `mask` | Een maskerafbeelding | `mask_url` |
| `num_outputs` | Hoeveel resultaten moeten worden gegenereerd | `num_images` |
| `generate_audio` | Geluid met de video genereren | `generate_audio_switch`, `enable_audio` |

Aan welk native veld een canonieke naam op elk huidig model wordt gekoppeld:

| Canonieke naam | Native veld (modellen die dit gebruiken) |
|---|---|
| `audio` | `audio_url` (modellen: 126) |
| `audios` | `audio_urls` (modellen: 7), `reference_audio_urls` (modellen: 1) |
| `end_image` | `end_image_url` (modellen: 76), `last_frame_url` (modellen: 12), `tail_image_url` (modellen: 1) |
| `generate_audio` | `generate_audio_switch` (modellen: 16), `audio` (modellen: 3) |
| `image` | `image_url` (modellen: 529), `start_image_url` (modellen: 20), `first_frame_url` (modellen: 12), `first_image_url` (modellen: 7), `source_image_url` (modellen: 2) |
| `images` | `image_urls` (modellen: 148), `reference_image_urls` (modellen: 31) |
| `mask` | `mask_url` (modellen: 46) |
| `num_outputs` | `num_images` (modellen: 337) |
| `video` | `video_url` (modellen: 197) |
| `videos` | `video_urls` (modellen: 13), `reference_video_urls` (modellen: 1) |

Regels:

- Stuur de canonieke naam of de native naam. Als je beide met verschillende waarden meestuurt, mislukt de aanroep met
  `422 invalid_input` op de canonieke naam.
- Een parameter die geen native of canonieke naam van het model is, wordt afgewezen met `422 invalid_input`
  ("Unknown parameter"), met de dichtstbijzijnde geldige naam als suggestie. Typefouten worden nooit stilzwijgend geaccepteerd.
- Elke modelpagina toont beide namen naast elkaar.

## Typeconversie

Waarden worden geconverteerd naar het type dat het model verwacht, dus dit werkt allemaal:

| Je verstuurt | Het model verwacht | Wordt |
|---|---|---|
| `5`, `"5"`, `"5s"` | `duration` als een tekenreeks zoals `"5"` | `"5"` |
| `"8"` | een geheel getal | `8` |
| `"1080P"`, `"4K"` | `resolution` zoals `"1080p"`, `"4k"` | de exact toegestane schrijfwijze |
| `"true"`, `"false"`, `1`, `0` | een boolean | `true`, `false` |
| `"https://…/a.jpg"` | een lijst met URL's | `["https://…/a.jpg"]` |
| `42` | een tekenreeks | `"42"` |

Toegestane waarden worden eerst exact vergeleken, vervolgens zonder onderscheid tussen hoofdletters en kleine letters,
en daarna als getallen (`5` komt overeen met waarden als `"5"`, `"5s"` en `"5 s"`).

## Standaardwaarden

Parameters die je weglaat, gebruiken de standaardwaarde van het model, die in de parametertabel van het model staat. De prijs
wordt berekend met dezelfde standaardwaarden (een videomodel waarvan `generate_audio` standaard `true` is, wordt bijvoorbeeld
met geluid geprijsd tenzij je `"generate_audio": false` meestuurt).

## Bestandsparameters

Afbeeldings-, video- en audioparameters accepteren een openbare URL, een `data:`-URI van maximaal 10 MB of de `file_url` van een upload.
Zie [Bestanden](https://doitong.com/developers/docs/files).