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

[API](https://ailoot.ai/docs/nb/) 

# Video og musikk

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

Generering av video og musikk: forespørselen oppretter en oppgave, og resultatet hentes med oppgavens identifikator.

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

Video og musikk

```bash
# Ta vare på forespørsels-ID-en: kundestøtten bruker den til å finne forespørselen din.
# Opprett jobben én gang; sløyfen nedenfor leser bare statusen.
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":"en rolig innsjø","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=""
# Denne sløyfen leser bare den opprinnelige jobben. Den sender aldri opprettingsforespørselen på nytt.
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 (statusen forblir in_progress): resultatet kontrolleres. Stopp; opprett aldri jobben på nytt.
  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 eller en hvilken som helst annen status: vis den og stopp. Opprett aldri jobben på nytt.
    *) 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
# Etter tidsavbrudd ved oppretting må du sjekke forespørsels-ID-en i brukshistorikken før du kjører dette skriptet igjen.
```

```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": "Rolig piano og cello, uten vokal"}' 
```

Svar · forkortet

```json
// Jobb-ID-en finnes i feltet id eller request_id
{ "id": "…", … }

// Formatet avhenger av modellen: bruk identifikatoren
// fra svaret på opprettingen uendret.
```

## Autentisering

| Parameter | Type | Påkrevd | Beskrivelse |
| --- | --- | --- | --- |
| `Authorization` | header | påkrevd | Nøkkel i formatet `Bearer sk-…`. Du kan også bruke headerne `x-api-key` eller `x-goog-api-key`. |

## Video: forespørselskropp

| Parameter | Type | Påkrevd | Beskrivelse |
| --- | --- | --- | --- |
| `model` | string | påkrevd | Videomodell: `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 | påkrevd | Beskrivelse av videoen. |
| `duration / seconds` | integer / string | valgfri | Avhenger av familien: Grok 1–15 sekunder, MiniMax 6/10 ved 768P eller 6 ved 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Ikke bruk én families felt for en annen. |
| `resolution / size` | string | valgfri | Grok: 480p/720p/1080p (1080p for video-1.5), eller size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p. |
| `image / first_frame_image / image_urls` | string / array | valgfri | Feltene for kildebilder avhenger av familie og modus. MiniMax Fast krever first\_frame\_image. HappyHorse t2v — uten images, i2v — nøyaktig ett bilde uten ratio, r2v — 1–9 bilder. |

Svaret inneholder oppgavens identifikator (feltet `id` eller `request_id`). Bruk den uendret, uten å tolke den: formatet avhenger av modellen. Status og ferdig fil:

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

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

De samme adressene fungerer også med prefikset `/v1/videos/generations/{id}`. Statusen for en ferdig oppgave og svarfeltene avhenger av modellen — se på statusfeltet og hent filen via `/content`.

## Opprett → status → last ned

Lagre opprettelsessvaret og dets Request ID. For MiniMax/HappyHorse er oppgaven klar ved `status: completed`, og svaret inneholder `content_url`, `data[]` og usage. For Grok er det `status: done` med `video.url`. Google Omni returnerer 202 queued, deretter in\_progress med Retry-After, completed eller partial/content\_revoked. Ikke regn ethvert 200-svar som en ferdig video. Hvis statussvaret inneholder `result_pending_check: true` (`status` er da `in_progress`), avklares resultatet. Ikke opprett oppgaven på nytt — kontroller den senere via GET /v1/videos/{id}, eller kontakt brukerstøtte med Request ID.

`/content` kan returnere MP4 direkte eller omdirigere til en signert fil. Hvis svaret inneholder flere resultater i `data[]`, lagrer du hvert av dem: alle leverte resultater belastes. Videooppgaver kan ikke avbrytes eller slettes via API-et. Sletting av en ferdig fil stenger tilgangen til den, men opphever ikke genereringen.

Betaling beregnes per sekund ferdig video i valgt oppløsning eller per video, slik katalogen angir. Hele kostnaden reserveres når oppgaven opprettes.

## Musikk

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

| Parameter | Type | Påkrevd | Beskrivelse |
| --- | --- | --- | --- |
| `model` | string | påkrevd | `google/lyria`, `google/lyria-3-clip-preview`. |
| `prompt` | string | påkrevd | Beskrivelse av musikken: sjanger, instrumenter og stemning. |

I svaret: `data[]` — lenker til ferdige klipp. Modellen kan returnere flere klipp fra én forespørsel; hvert levert klipp belastes.

Ikke send en video- eller musikkforespørsel på nytt hvis forbindelsen ble brutt: oppgaven kan allerede ha startet. Kontroller først statusen med identifikatoren, eller kontakt brukerstøtte med Request ID.

Flere spørsmål? Send Request ID og en beskrivelse, så hjelper vi deg.[Kontakt brukerstøtte](mailto:support@ailoot.ai)

## Ailoot · Selskapet og dets prosjektportefølje





Ailoot bygger på etablert driftserfaring, en stor kundebase, stabil tjeneste og løpende KPI-kontroll.





Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.





Ailoot bruker denne driftserfaringen til API-tilgang til AI-funksjoner i kundenes produkter, agenter, applikasjoner og automatiseringer.
