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

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

# Video e musica

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

Generazione di video e musica: la richiesta crea un’attività, il risultato viene recuperato tramite il suo identificatore.

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

Video e musica

```bash
# Conserva il Request ID: l'assistenza lo usa per trovare la tua richiesta.
# Crea il job una sola volta; il ciclo sottostante ne legge soltanto lo stato.
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":"un lago tranquillo","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=""
# Questo ciclo legge soltanto il job originale. Non reinvia mai la richiesta di creazione.
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 (lo stato rimane in_progress): il risultato è in fase di verifica. Fermati; non creare mai di nuovo il job.
  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 o qualsiasi altro stato: mostralo e fermati. Non creare mai di nuovo il job.
    *) 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
# Dopo un timeout durante la creazione, verifica il Request ID nella cronologia di utilizzo prima di eseguire di nuovo questo script.
```

```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": "Pianoforte e violoncello tranquilli, senza voce"}' 
```

Risposta · abbreviata

```json
// L'identificatore del job si trova nel campo id o request_id
{ "id": "…", … }

// Il formato dipende dal modello: usa l'identificatore
// della risposta di creazione senza modificarlo.
```

## Autorizzazione

| Parametro | Tipo | Obbligatorio | Descrizione |
| --- | --- | --- | --- |
| `Authorization` | header | obbligatorio | Chiave nel formato `Bearer sk-…`. Sono accettati anche gli header `x-api-key` oppure `x-goog-api-key`. |

## Video: corpo della richiesta

| Parametro | Tipo | Obbligatorio | Descrizione |
| --- | --- | --- | --- |
| `model` | string | obbligatorio | Modello 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`. |
| `prompt` | string | obbligatorio | Descrizione del video. |
| `duration / seconds` | integer / string | facoltativo | Dipende dalla famiglia: Grok 1–15 secondi, MiniMax 6/10 a 768P o 6 a 1080P, HappyHorse 3–15; Google Omni 4/6/8/10. Non trasferire il campo di una famiglia a un’altra. |
| `resolution / size` | string | facoltativo | Grok: 480p/720p/1080p (1080p per video-1.5), oppure size 1280x720/720x1280/1920x1080/1080x1920. MiniMax: 768P/1080P. HappyHorse: 480P/720P/1080P. Google Omni: 360p/720p. |
| `image / first_frame_image / image_urls` | string / array | facoltativo | I campi delle immagini iniziali dipendono dalla famiglia e dalla modalità. MiniMax Fast richiede first\_frame\_image. HappyHorse t2v — senza images, i2v — esattamente un’immagine senza ratio, r2v — 1–9 immagini. |

La risposta contiene l’identificatore dell’attività (campo `id` oppure `request_id`). Usalo così com’è, senza interpretarlo: il formato dipende dal modello. Stato e file pronto:

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

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

Gli stessi indirizzi funzionano anche con il prefisso `/v1/videos/generations/{id}`. Lo stato di un’attività pronta e i campi della risposta dipendono dal modello — fai riferimento al campo di stato e recupera il file tramite `/content`.

## Creazione → stato → download

Salva la risposta di creazione e il suo Request ID. Per MiniMax/HappyHorse lo stato di completamento è `status: completed`, la risposta contiene `content_url`, `data[]` e usage. Per Grok — `status: done` con `video.url`. Google Omni restituisce 202 queued, poi in\_progress con Retry-After, completed oppure partial/content\_revoked. Non considerare ogni 200 come un video pronto. Se nella risposta di stato compare `result_pending_check: true` (`status` rimane `in_progress`), il risultato è in fase di chiarimento. Non creare di nuovo l’attività — controllala più tardi tramite GET /v1/videos/{id} oppure contatta l’assistenza con il Request ID.

`/content` può restituire direttamente MP4 oppure un redirect a un file firmato. Se la risposta contiene più risultati in `data[]`, salvali tutti: tutti i risultati consegnati vengono addebitati. Non è possibile annullare o eliminare un’attività video tramite API. Eliminare il file pronto ne chiude l’accesso, ma non annulla la generazione.

Il pagamento è calcolato sui secondi del video pronto nella risoluzione scelta o per video, come indicato nel catalogo. L’intero costo viene riservato alla creazione dell’attività.

## Musica

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

| Parametro | Tipo | Obbligatorio | Descrizione |
| --- | --- | --- | --- |
| `model` | string | obbligatorio | `google/lyria`, `google/lyria-3-clip-preview`. |
| `prompt` | string | obbligatorio | Descrizione del brano: genere, strumenti e atmosfera. |

Nella risposta `data[]` — link alle clip pronte. Il modello può restituire più clip per richiesta; ogni clip consegnata viene addebitata.

Non ripetere una richiesta video o musicale se la connessione si interrompe: l’attività potrebbe essere già iniziata. Controlla prima lo stato tramite l’identificatore o contatta l’assistenza con il Request ID.

Hai altre domande? Invia il Request ID e una descrizione — ti aiuteremo a chiarire il problema.[Contatta l’assistenza](mailto:support@ailoot.ai)

## Ailoot · L’azienda e il suo portafoglio di progetti





Ailoot si basa su un’esperienza operativa consolidata, un’ampia base di clienti, un servizio stabile e un controllo costante dei KPI.





L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.





Ailoot mette questa esperienza operativa al servizio dell’accesso API alle funzioni AI nei prodotti dei clienti, negli agenti, nelle applicazioni e nelle automazioni.
