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

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

# Video och musik

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

Generering av video och musik: anropet skapar en uppgift, och resultatet hämtas med uppgiftens identifierare.

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

Video och musik

```bash
# Spara Request ID: supporten använder det för att hitta din begäran.
# Skapa jobbet en gång; loopen nedan läser bara dess 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":"en lugn sjö","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=""
# Den här loopen läser bara det ursprungliga jobbet. Den skickar aldrig om begäran om att skapa det.
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 (status förblir in_progress): resultatet kontrolleras. Stoppa; skapa aldrig jobbet igen.
  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 någon annan status: visa den och stoppa. Skapa aldrig jobbet igen.
    *) 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
# Kontrollera efter en timeout vid skapandet Request ID i användningshistoriken innan du kör skriptet igen.
```

```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": "Lugnt piano och cello, utan sång"}' 
```

Svar · förkortat

```json
// Jobbets identifierare finns i fältet id eller request_id
{ "id": "…", … }

// Formatet beror på modellen: använd identifieraren
// från svaret på begäran om att skapa jobbet utan ändringar.
```

## Autentisering

| Parameter | Typ | Obligatorisk | Beskrivning |
| --- | --- | --- | --- |
| `Authorization` | header | obligatoriskt | Nyckel i formatet `Bearer sk-…`. Även följande headers kan användas `x-api-key` eller `x-goog-api-key`. |

## Video: anropskropp

| Parameter | Typ | Obligatorisk | Beskrivning |
| --- | --- | --- | --- |
| `model` | string | obligatoriskt | 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 | obligatoriskt | Beskrivning av videon. |
| `duration / seconds` | integer / string | valfritt | Beror på modellfamiljen: Grok 1–15 sekunder, MiniMax 6/10 vid 768P eller 6 vid 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Använd inte en familjs fält för en annan. |
| `resolution / size` | string | valfritt | Grok: 480p/720p/1080p (1080p för 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 | valfritt | Fälten för källbilder beror på familj och läge. MiniMax Fast kräver first\_frame\_image. HappyHorse t2v — utan images, i2v — exakt en bild utan ratio, r2v — 1–9 bilder. |

Svaret innehåller uppgiftens identifierare (fältet `id` eller `request_id`). Använd den oförändrad, utan att tolka den: formatet beror på modellen. Status och färdig fil:

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

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

Samma adresser fungerar även med prefixet `/v1/videos/generations/{id}`. Status för en färdig uppgift och svarsfälten beror på modellen — utgå från statusfältet och hämta filen via `/content`.

## Skapa → status → ladda ned

Spara svaret från skapandet och dess Request ID. För MiniMax/HappyHorse är uppgiften klar vid `status: completed`, svaret innehåller `content_url`, `data[]` och usage. För Grok gäller `status: done` med `video.url`. Google Omni returnerar 202 queued, därefter in\_progress med Retry-After, completed eller partial/content\_revoked. Tolka inte varje 200-svar som en färdig video. Om statussvaret innehåller `result_pending_check: true` (`status` är då `in_progress`), håller resultatet på att klarläggas. Skapa inte uppgiften på nytt — kontrollera den senare via GET /v1/videos/{id} eller kontakta supporten med Request ID.

`/content` kan returnera MP4 direkt eller omdirigera till en signerad fil. Om svaret innehåller flera resultat i `data[]`, spara vart och ett: alla levererade resultat debiteras. En videouppgift kan inte avbrytas eller tas bort via API:t. Att ta bort en färdig fil stänger åtkomsten till den, men upphäver inte genereringen.

Debitering sker per sekund färdig video i vald upplösning eller per video, enligt katalogen. Hela kostnaden reserveras när uppgiften skapas.

## Musik

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

| Parameter | Typ | Obligatorisk | Beskrivning |
| --- | --- | --- | --- |
| `model` | string | obligatoriskt | `google/lyria`, `google/lyria-3-clip-preview`. |
| `prompt` | string | obligatoriskt | Beskrivning av musiken: genre, instrument och stämning. |

I svaret: `data[]` — länkar till färdiga klipp. Modellen kan returnera flera klipp i ett anrop; varje levererat klipp debiteras.

Skicka inte ett video- eller musikanrop igen om anslutningen bröts: uppgiften kan redan ha startat. Kontrollera först status med identifieraren eller kontakta supporten med Request ID.

Har du fler frågor? Skicka Request ID och en beskrivning, så hjälper vi dig.[Kontakta supporten](mailto:support@ailoot.ai)

## Ailoot · Företaget och dess projektportfölj





Ailoot bygger på etablerad driftserfarenhet, en stor kundbas, stabil service och löpande KPI-kontroll.





Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.





Ailoot använder denna driftserfarenhet för API-åtkomst till AI-funktioner i kundernas produkter, agenter, applikationer och automatiseringar.
