dokumentace
API

Video a hudba

Markdown

Generování videí a hudby: požadavek vytvoří úlohu, výsledek získáte podle jejího identifikátoru.

Úplný průvodce
POSThttps://api.ailoot.ai/v1/videos
Video a hudba
# Uchovejte Request ID: podpora podle něj najde váš požadavek.
# Úlohu vytvořte jednou; následující smyčka pouze čte její stav.
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":"klidné jezero","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=""
# Tato smyčka pouze čte původní úlohu. Požadavek na její vytvoření nikdy znovu neodesílá.
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 (stav zůstává in_progress): výsledek se kontroluje. Zastavte se; úlohu nikdy nevytvářejte znovu.
  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 nebo jakýkoli jiný stav: zobrazte jej a zastavte se. Úlohu nikdy nevytvářejte znovu.
    *) 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
# Po vypršení časového limitu při vytváření před dalším spuštěním tohoto skriptu zkontrolujte Request ID v historii využití.
Odpověď · zkráceno
// Identifikátor úlohy je v poli id nebo request_id
{ "id": "…", … }

// Formát závisí na modelu: použijte identifikátor
// z odpovědi na vytvoření beze změny.

Autorizace

  • Authorizationheaderpovinný

    Klíč ve tvaru Bearer sk-…. Lze použít také hlavičky x-api-key nebo x-goog-api-key.

Video: tělo požadavku

  • modelstringpovinný

    Model pro video: 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.

  • promptstringpovinný

    Popis videa.

  • duration / secondsinteger / stringnepovinný

    Záleží na rodině modelů: Grok 1–15 sekund, MiniMax 6/10 při 768P nebo 6 při 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Nepřenášejte pole jedné rodiny do druhé.

  • resolution / sizestringnepovinný

    Grok: 480p/720p/1080p (1080p u video-1.5), nebo size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p.

  • image / first_frame_image / image_urlsstring / arraynepovinný

    Pole výchozích obrázků závisejí na rodině a režimu. MiniMax Fast vyžaduje first_frame_image. HappyHorse t2v – bez images, i2v – přesně jeden obrázek bez ratio, r2v – 1–9 obrázků.

Odpověď obsahuje identifikátor úlohy (pole id nebo request_id). Použijte jej beze změny, bez rozboru: formát závisí na modelu. Stav a hotový soubor:

GEThttps://api.ailoot.ai/v1/videos/{id}
GEThttps://api.ailoot.ai/v1/videos/{id}/content

Stejné adresy fungují i s předponou /v1/videos/generations/{id}. Stav hotové úlohy a sada polí odpovědi závisejí na modelu – řiďte se polem stavu a soubor stáhněte přes /content.

Vytvoření → stav → stažení

Uložte odpověď na vytvoření úlohy a její Request ID. Pro MiniMax/HappyHorse je úloha hotová při status: completed, odpověď obsahuje content_url, data[] a usage. Pro Grok – status: done s video.url. Google Omni vrací 202 queued, poté in_progress s Retry-After, completed nebo partial/content_revoked. Nepovažujte každý 200 za hotové video. Pokud odpověď se stavem obsahuje result_pending_check: true (status přitom in_progress), výsledek se ověřuje. Nevytvářejte úlohu znovu – ověřte ji později přes GET /v1/videos/{id} nebo napište podpoře s Request ID.

/content může vrátit MP4 přímo nebo přesměrovat na podepsaný soubor. Pokud odpověď obsahuje několik výsledků v data[], uložte každý: účtují se všechny doručené výsledky. Videoúlohu nelze přes API zrušit ani smazat. Smazání hotového souboru uzavře přístup k němu, ale nezruší generování.

Účtuje se za sekundy hotového videa ve zvoleném rozlišení nebo za video podle údajů v katalogu. Celá cena se rezervuje při vytvoření úlohy.

Hudba

POSThttps://api.ailoot.ai/v1/music/generations
  • modelstringpovinný

    google/lyria, google/lyria-3-clip-preview.

  • promptstringpovinný

    Popis skladby: žánr, nástroje, nálada.

V odpovědi data[] – odkazy na hotové klipy. Jeden požadavek může vrátit několik klipů; účtuje se za každý doručený.

Máte další dotazy? Pošlete Request ID a popis – pomůžeme situaci objasnit.Napsat podpoře