Source: https://ailoot.ai/docs/nl-be/api/video-music/
Canonical: https://ailoot.ai/docs/nl-be/api/video-music/
Language: nl-be

[API](https://ailoot.ai/docs/nl-be/) 

# Video en muziek

[Markdown](https://ailoot.ai/docs/nl-be/api/video-music/index.md)

Video’s en muziek genereren: het verzoek maakt een taak aan, en je haalt het resultaat op met de taak-ID.

POST`https://api.ailoot.ai/v1/videos`

Video en muziek

```bash
# Bewaar de Request ID: de klantenservice gebruikt deze om je verzoek terug te vinden.
# Maak de taak één keer aan; de onderstaande lus leest alleen de status.
curl --fail-with-body --max-time 120 -D video-create-headers-v1.txt \
  https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-imagine-video-1.5","prompt":"een rustig meer","seconds":"8","size":"1280x720"}' \
  -o video-create-v1.json || exit 1
VIDEO_ID=$(jq -er '.id // .request_id' video-create-v1.json) || exit 1
VIDEO_STATUS=""
# Deze lus leest alleen de oorspronkelijke taak. Het aanmaakverzoek wordt nooit opnieuw verstuurd.
for ATTEMPT in $(seq 1 60); do
  curl --fail-with-body --max-time 30 \
    "https://api.ailoot.ai/v1/videos/$VIDEO_ID" \
    -H "Authorization: Bearer $AILOOT_API_KEY" \
    -o video-status-v1.json || exit 1
  VIDEO_STATUS=$(jq -r '.status // empty' video-status-v1.json)
  # result_pending_check: true (de status blijft in_progress): het resultaat wordt gecontroleerd. Stop; maak de taak nooit opnieuw aan.
  if jq -e '.result_pending_check == true' video-status-v1.json >/dev/null; then
    cat video-status-v1.json
    echo "The result is being checked. Do not create the job again: check GET /v1/videos/$VIDEO_ID later or contact support with the Request ID." >&2
    exit 1
  fi
  case "$VIDEO_STATUS" in
    done|completed) break ;;
    queued|in_progress|pending|processing) sleep 5 ;;
    # failed of een andere status: toon deze en stop. Maak de taak nooit opnieuw aan.
    *) cat video-status-v1.json; exit 1 ;;
  esac
done
case "$VIDEO_STATUS" in
  done|completed) ;;
  *) echo "The job is not finished yet (status: ${VIDEO_STATUS:-none}). Check it later: GET /v1/videos/$VIDEO_ID" >&2; exit 1 ;;
esac
curl --fail-with-body --max-time 120 -L --max-redirs 3 \
  "https://api.ailoot.ai/v1/videos/$VIDEO_ID/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video-v1.mp4
# Controleer na een time-out bij het aanmaken de Request ID in je gebruiksgeschiedenis voordat je dit script opnieuw uitvoert.
```

```bash
curl https://api.ailoot.ai/v1/music/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "google/lyria", "prompt": "Rustige piano en cello, zonder zang"}' 
```

Antwoord · ingekort

```json
// De taak-ID staat in het veld id of request_id
{ "id": "…", … }

// Het formaat hangt af van het model: neem de ID
// ongewijzigd over uit het antwoord op het aanmaakverzoek.
```

## Authenticatie

| Parameter | Type | Verplicht | Beschrijving |
| --- | --- | --- | --- |
| `Authorization` | header | verplicht | Sleutel in de vorm `Bearer sk-…`. Ook deze headers worden ondersteund: `x-api-key` of `x-goog-api-key`. |

## Video: verzoekbody

| Parameter | Type | Verplicht | Beschrijving |
| --- | --- | --- | --- |
| `model` | string | verplicht | Videomodel: `google/omni-1.1-flash`, `grok-imagine-video`, `happyhorse-1.1-t2v`, `MiniMax-Hailuo-2.3`, `grok-imagine-video-1.5`, `happyhorse-1.1-r2v`, `grok-imagine-video-1.5-preview`, `happyhorse-1.1-i2v`. |
| `prompt` | string | verplicht | Beschrijving van de video. |
| `duration / seconds` | integer / string | optioneel | Hangt af van de modelfamilie: Grok 1–15 seconden, MiniMax 6/10 bij 768P of 6 bij 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Gebruik het veld van de ene modelfamilie niet voor een andere. |
| `resolution / size` | string | optioneel | Grok: 480p/720p/1080p (1080p bij video-1.5), of size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p. |
| `image / first_frame_image / image_urls` | string / array | optioneel | Velden voor bronafbeeldingen hangen af van de modelfamilie en modus. MiniMax Fast vereist first\_frame\_image. HappyHorse t2v — zonder images, i2v — precies één afbeelding zonder ratio, r2v — 1–9 afbeeldingen. |

Het antwoord bevat de taak-ID (veld `id` of `request_id`). Gebruik deze ongewijzigd en parse hem niet: het formaat hangt af van het model. Status en voltooid bestand:

GET`https://api.ailoot.ai/v1/videos/{id}`

GET`https://api.ailoot.ai/v1/videos/{id}/content`

Dezelfde adressen werken ook met het voorvoegsel `/v1/videos/generations/{id}`. De status van een voltooide taak en de antwoordvelden hangen af van het model — kijk naar het statusveld en haal het bestand op via `/content`.

## Aanmaken → status → downloaden

Bewaar het antwoord op het aanmaken en de Request ID daarvan. Bij MiniMax/HappyHorse betekent voltooid: `status: completed`, het antwoord bevat `content_url`, `data[]` en usage. Bij Grok: `status: done` met `video.url`. Google Omni geeft 202 queued terug, daarna in\_progress met Retry-After, completed of partial/content\_revoked. Beschouw niet elke 200 als een voltooide video. Als het statusantwoord `result_pending_check: true` (`status` is dan `in_progress`) bevat, wordt het resultaat nog gecontroleerd. Maak de taak niet opnieuw aan — controleer deze later via GET /v1/videos/{id} of neem contact op met support met de Request ID.

`/content` kan rechtstreeks MP4 teruggeven of doorsturen naar een ondertekend bestand. Als het antwoord meerdere resultaten bevat in `data[]`, sla elk resultaat op: alle geleverde resultaten worden in rekening gebracht. Je kunt een videotaak niet via de API annuleren of verwijderen. Het verwijderen van het voltooide bestand sluit de toegang daartoe af, maar annuleert de generatie niet.

Je betaalt per seconde voltooide video in de gekozen resolutie of per video, zoals vermeld in de catalogus. Bij het aanmaken van de taak worden de volledige kosten gereserveerd.

## Muziek

POST`https://api.ailoot.ai/v1/music/generations`

| Parameter | Type | Verplicht | Beschrijving |
| --- | --- | --- | --- |
| `model` | string | verplicht | `google/lyria`, `google/lyria-3-clip-preview`. |
| `prompt` | string | verplicht | Beschrijving van de track: genre, instrumenten en sfeer. |

In het antwoord bevat `data[]` links naar voltooide clips. Eén verzoek kan meerdere clips opleveren; elke geleverde clip wordt in rekening gebracht.

Verstuur een verzoek voor video of muziek niet opnieuw als de verbinding wegvalt: de taak kan al gestart zijn. Controleer eerst de status met de identificator of neem contact op met support met de Request ID.

Nog vragen? Stuur de Request ID en een beschrijving — we helpen je verder.[Contact opnemen met support](mailto:support@ailoot.ai)

## Ailoot · Het bedrijf en zijn projectenportefeuille





Ailoot bouwt op opgebouwde operationele ervaring, een groot klantenbestand, een stabiele dienst en doorlopende KPI-controle.





Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.





Ailoot gebruikt die operationele ervaring voor API-toegang tot AI-functies in klantproducten, agents, applicaties en automatiseringen.
