{
  "aboutHtml": "<p>Alibaba HappyHorse 1.0 è un’edizione di creazione video con profili denominati di generazione da testo, da immagine con primo fotogramma e da riferimenti. Il produttore descrive movimento fisicamente convincente, comprensione semantica e sincronizzazione audiovisiva come priorità creative. Il profilo di riferimenti può usare fino a nove immagini per guidare soggetti e scene. Il risultato utile è una breve clip con suono: una nuova scena, un’animazione da un’immagine iniziale preparata oppure un’inquadratura di personaggio o prodotto guidata da riferimenti.</p><p>Per una scena da testo, definisci soggetto, ambientazione, azione e camera, con il suono previsto. Per una scena da tavolo, mostra un piccolo modellino di barca a vela che si muove in una vaschetta d’acqua poco profonda mentre la camera lo segue all’altezza del tavolo. Il controllo può così verificare forma della barca, scala della scena, movimento dell’acqua e rapporto tra movimento e suono. Un’azione focalizzata è più facile da valutare di una sequenza densa il cui momento essenziale non è indicato chiaramente.</p><p>Per la generazione con primo fotogramma, usa un’immagine fissa il cui soggetto e la cui composizione corrispondano già all’apertura desiderata. Descrivi il movimento successivo e il percorso della camera. Il profilo immagine 1.0 specifico del produttore accetta input di testo e immagine, mentre la tabella di generazione lo identifica come generazione da immagine con primo fotogramma. Prepara ritaglio e dettagli visibili del prodotto o personaggio prima di generare l’inquadratura. Controlla se quei dettagli restano riconoscibili durante il movimento invece di giudicare soltanto il fotogramma iniziale.</p><p>La generazione da riferimenti combina persone, prodotti, stile o ambientazione mostrati nelle fonti visive in una scena descritta ex novo. La pagina specifica del modello di riferimenti 1.0 documenta fino a nove immagini. Assegna i loro ruoli nel brief e descrivi come il soggetto deve agire nella scena. Una presentazione di prodotto può distinguere il riferimento dell’articolo da quello del luogo circostante o dello stile visivo. L’attenzione del produttore alla stabilità è un obiettivo di verifica: confronta soggetto, segni distintivi e posizione con i riferimenti effettivi lungo tutta la clip.</p><p>La famiglia 1.0 ha anche un profilo di modifica video con nome separato per cambiamenti di stile e revisioni locali o più ampie di filmati esistenti. Quel profilo usa esattamente un video sorgente e da zero a cinque immagini di riferimento, invece della configurazione di generazione con nove immagini. Specifica ciò che deve cambiare e ciò che deve restare, come cambiare un indumento mantenendo persona, movimento e sfondo. Il risultato modificato richiede un confronto con l’intera clip sorgente, non soltanto con un fotogramma che mostra la sostituzione prevista.</p><p>La guida specifica di modifica 1.0 accetta filmati sorgenti MP4 o MOV, consiglia H.264 e permette durate sorgenti da tre a sessanta secondi. Elenca un massimo di 100 MB, un lato corto di almeno 360 pixel, un lato lungo non superiore a 4.096 pixel, proporzioni tra 1:2.5 e 2.5:1 e frame rate in ingresso da otto a sessanta fps. Gli output modificati sono limitati a tre–quindici secondi: sorgenti di quindici secondi o meno mantengono la propria durata, mentre per sorgenti più lunghe vengono usati soltanto i primi quindici secondi. Taglia il passaggio previsto prima di preparare la modifica quando un’azione importante avviene più avanti nella sorgente.</p><p>Le immagini di riferimento facoltative del profilo di modifica hanno un proprio limite di venti MB e requisiti di formato JPEG/JPG, PNG o WEBP, con entrambe le dimensioni di almeno 300 pixel e lo stesso intervallo di proporzioni documentato. La guida distingue anche il trattamento automatico dell’audio dal mantenimento dell’audio originale. Prepara il riferimento che identifica il cambiamento previsto e scegli come il suono sorgente deve rapportarsi a esso. Sono controlli specifici del profilo di modifica 1.0, separati dalle modalità di generazione di nuove scene.</p><p>Per le modalità di generazione 1.0, la tabella specifica del produttore elenca 720p o 1080p, da tre a quindici secondi, MP4 a 24 fps e audio. Anche il profilo di modifica produce 720p o 1080p entro il proprio limite di quindici secondi. Il flusso documentato restituisce prima un identificatore di elaborazione e, dopo il successo, l’indirizzo del video completato; gli indirizzi dei risultati sono validi per ventiquattro ore. Conserva la clip effettiva, il prompt e i riferimenti quando prepari un montaggio di produzione, e controlla insieme inquadratura, durata e suono restituiti.</p><p>HappyHorse 1.1 aggiunge un’opzione di generazione a 480p e miglioramenti dichiarati nei dettagli visivi, nel movimento e nella coerenza tra clip. Queste capacità dichiarate della generazione successiva non sono garantite per la revisione fissa del profilo 1.0. La preparazione utile per 1.0 segue la modalità scelta e i suoi materiali sorgenti effettivi. Controlla identità, contatto fisico, geometria degli oggetti, testo e suono, poi rendi concreta la correzione successiva. Per una clip modificata, verifica anche che i dettagli originali importanti al di fuori del cambiamento richiesto restino adatti alla scena prevista.</p>",
  "aboutText": "Alibaba HappyHorse 1.0 è un’edizione di creazione video con profili denominati di generazione da testo, da immagine con primo fotogramma e da riferimenti. Il produttore descrive movimento fisicamente convincente, comprensione semantica e sincronizzazione audiovisiva come priorità creative. Il profilo di riferimenti può usare fino a nove immagini per guidare soggetti e scene. Il risultato utile è una breve clip con suono: una nuova scena, un’animazione da un’immagine iniziale preparata oppure un’inquadratura di personaggio o prodotto guidata da riferimenti.\n\nPer una scena da testo, definisci soggetto, ambientazione, azione e camera, con il suono previsto. Per una scena da tavolo, mostra un piccolo modellino di barca a vela che si muove in una vaschetta d’acqua poco profonda mentre la camera lo segue all’altezza del tavolo. Il controllo può così verificare forma della barca, scala della scena, movimento dell’acqua e rapporto tra movimento e suono. Un’azione focalizzata è più facile da valutare di una sequenza densa il cui momento essenziale non è indicato chiaramente.\n\nPer la generazione con primo fotogramma, usa un’immagine fissa il cui soggetto e la cui composizione corrispondano già all’apertura desiderata. Descrivi il movimento successivo e il percorso della camera. Il profilo immagine 1.0 specifico del produttore accetta input di testo e immagine, mentre la tabella di generazione lo identifica come generazione da immagine con primo fotogramma. Prepara ritaglio e dettagli visibili del prodotto o personaggio prima di generare l’inquadratura. Controlla se quei dettagli restano riconoscibili durante il movimento invece di giudicare soltanto il fotogramma iniziale.\n\nLa generazione da riferimenti combina persone, prodotti, stile o ambientazione mostrati nelle fonti visive in una scena descritta ex novo. La pagina specifica del modello di riferimenti 1.0 documenta fino a nove immagini. Assegna i loro ruoli nel brief e descrivi come il soggetto deve agire nella scena. Una presentazione di prodotto può distinguere il riferimento dell’articolo da quello del luogo circostante o dello stile visivo. L’attenzione del produttore alla stabilità è un obiettivo di verifica: confronta soggetto, segni distintivi e posizione con i riferimenti effettivi lungo tutta la clip.\n\nLa famiglia 1.0 ha anche un profilo di modifica video con nome separato per cambiamenti di stile e revisioni locali o più ampie di filmati esistenti. Quel profilo usa esattamente un video sorgente e da zero a cinque immagini di riferimento, invece della configurazione di generazione con nove immagini. Specifica ciò che deve cambiare e ciò che deve restare, come cambiare un indumento mantenendo persona, movimento e sfondo. Il risultato modificato richiede un confronto con l’intera clip sorgente, non soltanto con un fotogramma che mostra la sostituzione prevista.\n\nLa guida specifica di modifica 1.0 accetta filmati sorgenti MP4 o MOV, consiglia H.264 e permette durate sorgenti da tre a sessanta secondi. Elenca un massimo di 100 MB, un lato corto di almeno 360 pixel, un lato lungo non superiore a 4.096 pixel, proporzioni tra 1:2.5 e 2.5:1 e frame rate in ingresso da otto a sessanta fps. Gli output modificati sono limitati a tre–quindici secondi: sorgenti di quindici secondi o meno mantengono la propria durata, mentre per sorgenti più lunghe vengono usati soltanto i primi quindici secondi. Taglia il passaggio previsto prima di preparare la modifica quando un’azione importante avviene più avanti nella sorgente.\n\nLe immagini di riferimento facoltative del profilo di modifica hanno un proprio limite di venti MB e requisiti di formato JPEG/JPG, PNG o WEBP, con entrambe le dimensioni di almeno 300 pixel e lo stesso intervallo di proporzioni documentato. La guida distingue anche il trattamento automatico dell’audio dal mantenimento dell’audio originale. Prepara il riferimento che identifica il cambiamento previsto e scegli come il suono sorgente deve rapportarsi a esso. Sono controlli specifici del profilo di modifica 1.0, separati dalle modalità di generazione di nuove scene.\n\nPer le modalità di generazione 1.0, la tabella specifica del produttore elenca 720p o 1080p, da tre a quindici secondi, MP4 a 24 fps e audio. Anche il profilo di modifica produce 720p o 1080p entro il proprio limite di quindici secondi. Il flusso documentato restituisce prima un identificatore di elaborazione e, dopo il successo, l’indirizzo del video completato; gli indirizzi dei risultati sono validi per ventiquattro ore. Conserva la clip effettiva, il prompt e i riferimenti quando prepari un montaggio di produzione, e controlla insieme inquadratura, durata e suono restituiti.\n\nHappyHorse 1.1 aggiunge un’opzione di generazione a 480p e miglioramenti dichiarati nei dettagli visivi, nel movimento e nella coerenza tra clip. Queste capacità dichiarate della generazione successiva non sono garantite per la revisione fissa del profilo 1.0. La preparazione utile per 1.0 segue la modalità scelta e i suoi materiali sorgenti effettivi. Controlla identità, contatto fisico, geometria degli oggetti, testo e suono, poi rendi concreta la correzione successiva. Per una clip modificata, verifica anche che i dettagli originali importanti al di fuori del cambiamento richiesto restino adatti alla scena prevista.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "cecc19e462cb589d369e109cb9e90ad514f6f4fdc2e489dd357be0e22bbf70be",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "it",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">Al</span><h2 id=\"sheet-title\">Alibaba: HappyHorse 1.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Chiudi\">×</button></div><div class=\"idline\"><span>Alibaba /</span><code>alibaba/happyhorse-1.0</code><button type=\"button\" id=\"copy-id\">Copia ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sezioni della scheda del modello\"><button type=\"button\" data-card-jump=\"overview\">Introduzione</button><button type=\"button\" data-card-jump=\"methods\">Input e metodi</button><button type=\"button\" data-card-jump=\"pricing\">Tariffe</button><button type=\"button\" data-card-jump=\"examples\">Esempi</button><button type=\"button\" data-card-jump=\"results\">Risultati</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metodi API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|videos|/v1/videos|alibaba%2Fhappyhorse-1.0\">Video</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Introduzione</h3><p class=\"mdesc-full\">Alibaba HappyHorse 1.0 crea brevi video con suono da testo, un’immagine iniziale o fino a nove immagini di riferimento. Le modalità di generazione producono MP4 di 3–15 secondi a 24 fps in 720p o 1080p. Un profilo 1.0 di modifica video con nome separato rivede filmati forniti, con riferimenti visivi facoltativi e limiti propri.</p><dl class=\"card-io\" data-card-io><div><dt>Input accettati</dt><dd>Testo · Immagini</dd></div><div><dt>Risultati</dt><dd>Video</dd></div></dl><details class=\"card-about\"><summary>Informazioni sul modello</summary><p class=\"note-s\" data-model-method-boundary>Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.</p><div class=\"mabout\" id=\"m-about\"><p>Alibaba HappyHorse 1.0 è un’edizione di creazione video con profili denominati di generazione da testo, da immagine con primo fotogramma e da riferimenti. Il produttore descrive movimento fisicamente convincente, comprensione semantica e sincronizzazione audiovisiva come priorità creative. Il profilo di riferimenti può usare fino a nove immagini per guidare soggetti e scene. Il risultato utile è una breve clip con suono: una nuova scena, un’animazione da un’immagine iniziale preparata oppure un’inquadratura di personaggio o prodotto guidata da riferimenti.</p><p>Per una scena da testo, definisci soggetto, ambientazione, azione e camera, con il suono previsto. Per una scena da tavolo, mostra un piccolo modellino di barca a vela che si muove in una vaschetta d’acqua poco profonda mentre la camera lo segue all’altezza del tavolo. Il controllo può così verificare forma della barca, scala della scena, movimento dell’acqua e rapporto tra movimento e suono. Un’azione focalizzata è più facile da valutare di una sequenza densa il cui momento essenziale non è indicato chiaramente.</p><p>Per la generazione con primo fotogramma, usa un’immagine fissa il cui soggetto e la cui composizione corrispondano già all’apertura desiderata. Descrivi il movimento successivo e il percorso della camera. Il profilo immagine 1.0 specifico del produttore accetta input di testo e immagine, mentre la tabella di generazione lo identifica come generazione da immagine con primo fotogramma. Prepara ritaglio e dettagli visibili del prodotto o personaggio prima di generare l’inquadratura. Controlla se quei dettagli restano riconoscibili durante il movimento invece di giudicare soltanto il fotogramma iniziale.</p><p>La generazione da riferimenti combina persone, prodotti, stile o ambientazione mostrati nelle fonti visive in una scena descritta ex novo. La pagina specifica del modello di riferimenti 1.0 documenta fino a nove immagini. Assegna i loro ruoli nel brief e descrivi come il soggetto deve agire nella scena. Una presentazione di prodotto può distinguere il riferimento dell’articolo da quello del luogo circostante o dello stile visivo. L’attenzione del produttore alla stabilità è un obiettivo di verifica: confronta soggetto, segni distintivi e posizione con i riferimenti effettivi lungo tutta la clip.</p><p>La famiglia 1.0 ha anche un profilo di modifica video con nome separato per cambiamenti di stile e revisioni locali o più ampie di filmati esistenti. Quel profilo usa esattamente un video sorgente e da zero a cinque immagini di riferimento, invece della configurazione di generazione con nove immagini. Specifica ciò che deve cambiare e ciò che deve restare, come cambiare un indumento mantenendo persona, movimento e sfondo. Il risultato modificato richiede un confronto con l’intera clip sorgente, non soltanto con un fotogramma che mostra la sostituzione prevista.</p><p>La guida specifica di modifica 1.0 accetta filmati sorgenti MP4 o MOV, consiglia H.264 e permette durate sorgenti da tre a sessanta secondi. Elenca un massimo di 100 MB, un lato corto di almeno 360 pixel, un lato lungo non superiore a 4.096 pixel, proporzioni tra 1:2.5 e 2.5:1 e frame rate in ingresso da otto a sessanta fps. Gli output modificati sono limitati a tre–quindici secondi: sorgenti di quindici secondi o meno mantengono la propria durata, mentre per sorgenti più lunghe vengono usati soltanto i primi quindici secondi. Taglia il passaggio previsto prima di preparare la modifica quando un’azione importante avviene più avanti nella sorgente.</p><p>Le immagini di riferimento facoltative del profilo di modifica hanno un proprio limite di venti MB e requisiti di formato JPEG/JPG, PNG o WEBP, con entrambe le dimensioni di almeno 300 pixel e lo stesso intervallo di proporzioni documentato. La guida distingue anche il trattamento automatico dell’audio dal mantenimento dell’audio originale. Prepara il riferimento che identifica il cambiamento previsto e scegli come il suono sorgente deve rapportarsi a esso. Sono controlli specifici del profilo di modifica 1.0, separati dalle modalità di generazione di nuove scene.</p><p>Per le modalità di generazione 1.0, la tabella specifica del produttore elenca 720p o 1080p, da tre a quindici secondi, MP4 a 24 fps e audio. Anche il profilo di modifica produce 720p o 1080p entro il proprio limite di quindici secondi. Il flusso documentato restituisce prima un identificatore di elaborazione e, dopo il successo, l’indirizzo del video completato; gli indirizzi dei risultati sono validi per ventiquattro ore. Conserva la clip effettiva, il prompt e i riferimenti quando prepari un montaggio di produzione, e controlla insieme inquadratura, durata e suono restituiti.</p><p>HappyHorse 1.1 aggiunge un’opzione di generazione a 480p e miglioramenti dichiarati nei dettagli visivi, nel movimento e nella coerenza tra clip. Queste capacità dichiarate della generazione successiva non sono garantite per la revisione fissa del profilo 1.0. La preparazione utile per 1.0 segue la modalità scelta e i suoi materiali sorgenti effettivi. Controlla identità, contatto fisico, geometria degli oggetti, testo e suono, poi rendi concreta la correzione successiva. Per una clip modificata, verifica anche che i dettagli originali importanti al di fuori del cambiamento richiesto restino adatti alla scena prevista.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponibile in Ailoot · input e metodi</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Video</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Tipi di input</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Tipi di output</dt><dd><code>video</code></dd></div><div><dt>Formato di output</dt><dd>byte MP4 originali; nessuna normalizzazione o transcodifica</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Campo</th><th>Tipo</th><th>Requisito</th><th>Valori e limiti</th><th>Predefinito</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obbligatorio</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>alibaba/happyhorse-1.0</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obbligatorio</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obbligatorio</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15</div><div>Minimo: 1</div><div>Massimo: 600</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>720p, 1080p</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">generate_audio</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>boolean</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>false</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">frame_images</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>array</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>Numero minimo di elementi: 1</div><div>Numero massimo di elementi: 1</div><div>Contenuto in input: Array di oggetti fotogramma. Ogni oggetto contiene type=image_url, image_url con url e frame_type. Usa un URL HTTPS dell&#39;immagine e imposta frame_type su first_frame. Ogni ruolo del fotogramma compare al massimo una volta.</div><div>Chiavi esatte: type, image_url, frame_type</div><div>Condizioni: Queste chiavi descrivono ogni oggetto fotogramma; image_url contiene solo url. Ometti frame_images per una richiesta di solo testo.</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>array</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">size</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>1280x720, 720x1280, 720x720, 960x720, 720x960, 1680x720, 720x1680, 1920x1080, 1080x1920, 1080x1080, 1440x1080, 1080x1440, 2520x1080, 1080x2520</div><div>Schema: ^[1-9][0-9]*x[1-9][0-9]*$</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">seed</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>Minimo: -9.223.372.036.854.775.808</div><div>Massimo: 9.223.372.036.854.775.807</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">callback_url</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>Schema: ^https://</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>object</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinazioni di materiali in input</summary><p class=\"note-s\"><b>Da testo a video</b> · Un prompt scritto. · Obbligatorio: model, prompt, duration</p><p class=\"note-s\"><code>Fornisci il prompt come testo e la durata in secondi interi. Scegli una risoluzione supportata; aggiungi un rapporto d&#39;aspetto oppure usa una dimensione elencata.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Tipo: string · alibaba/happyhorse-1.0</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì</p><p class=\"note-s\"><b>Da immagine a video</b> · Un prompt scritto e un&#39;immagine del primo fotogramma. · Obbligatorio: model, prompt, duration, frame_images</p><p class=\"note-s\"><code>frame_images è un array. Ogni oggetto fotogramma contiene type, image_url e frame_type; image_url contiene url. Imposta type su image_url. Usa first_frame. Ogni ruolo del fotogramma può comparire al massimo una volta. Fornisci un URL HTTPS pubblico dell&#39;immagine per ogni fotogramma. Scegli una risoluzione supportata; aggiungi un rapporto d&#39;aspetto oppure usa una dimensione elencata.</code></p><p class=\"note-s\">Chiavi esatte: type, image_url, frame_type</p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Tipo: string · alibaba/happyhorse-1.0</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì</p><p class=\"note-s\"><b>Reference to video</b> · Un prompt scritto e riferimenti a immagini supportati. · Obbligatorio: model, prompt, duration, input_references</p><p class=\"note-s\"><code>input_references è un array di oggetti. Imposta type su image_url e usa il campo corrispondente contenente url. Usa URL HTTPS pubblici. Ometti frame_images per selezionare la modalità con riferimenti. Scegli una risoluzione supportata; aggiungi un rapporto d&#39;aspetto oppure usa una dimensione elencata.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Tipo: string · alibaba/happyhorse-1.0</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì</p></details><details class=\"note-s\" data-method-contract><summary>Parametri e ciclo di vita del metodo</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametro</th><th>Contratto</th></tr></thead><tbody><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>content_type</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>application/json</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>required</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>model, prompt, duration</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>material_types</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>text, image</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>additional_properties</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>false</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>optional_controls</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>resolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user</td></tr></tbody></table></div><p>Ciclo di vita: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}/content</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tariffe</h3><div class=\"card-result-process\" data-billing-basis><h5>Calcolo del costo finale</h5><p class=\"note-s\">Le tariffe visualizzate stimano il costo prima della generazione. L&#39;addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell&#39;output e le quantità previste non costituiscono la quantità finale fatturabile.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.</p><dl data-price-conditions><dt>Modalità rapida</dt><dd>Non specificato <span class=\"note-s\">Quando è selezionata la modalità rapida</span></dd><dt>Modalità flex</dt><dd>Non specificato <span class=\"note-s\">Quando è selezionata la modalità flex</span></dd><dt>Sforzo massimo di ragionamento</dt><dd>Non specificato <span class=\"note-s\">Quando lo sforzo massimo di ragionamento usa l&#39;adeguamento predefinito (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tariffe stimate per il confronto</h4><h4>Prezzi per configurazione</h4><p class=\"note-s\">Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configurazione</th><th>Listino delle tariffe</th><th>Quantità prevista</th><th>Unità di fatturazione</th><th>Condizioni di fatturazione</th><th>Costo</th></tr></thead><tbody><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>Tariffe base dei token</th><td data-cell-label=\"Listino delle tariffe\"><span class=\"card-cell-label\">Listino delle tariffe</span>Tariffa base</td><td data-cell-label=\"Quantità prevista\"><span class=\"card-cell-label\">Quantità prevista</span>—</td><td data-cell-label=\"Unità di fatturazione\"><span class=\"card-cell-label\">Unità di fatturazione</span>—</td><td data-cell-label=\"Condizioni di fatturazione\"><span class=\"card-cell-label\">Condizioni di fatturazione</span>—</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Input · Token in input · Stima solo a fini di confronto</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Output · Token in output · Stima solo a fini di confronto</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Lettura dalla cache · Stima solo a fini di confronto</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Scrittura nella cache · Stima solo a fini di confronto</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Scrittura nella cache, 1 ora · Stima solo a fini di confronto</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>Prezzo del video</th><td data-cell-label=\"Listino delle tariffe\"><span class=\"card-cell-label\">Listino delle tariffe</span>—</td><td data-cell-label=\"Quantità prevista\"><span class=\"card-cell-label\">Quantità prevista</span>—</td><td data-cell-label=\"Unità di fatturazione\"><span class=\"card-cell-label\">Unità di fatturazione</span>per secondo di video</td><td data-cell-label=\"Condizioni di fatturazione\"><span class=\"card-cell-label\">Condizioni di fatturazione</span>resolution: 1080p</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Output · Prezzo del video · Stima solo a fini di confronto</span> <b>$0.3388</b> <span class=\"price-unit\">per secondo di video</span></div></td></tr><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>Prezzo del video</th><td data-cell-label=\"Listino delle tariffe\"><span class=\"card-cell-label\">Listino delle tariffe</span>—</td><td data-cell-label=\"Quantità prevista\"><span class=\"card-cell-label\">Quantità prevista</span>—</td><td data-cell-label=\"Unità di fatturazione\"><span class=\"card-cell-label\">Unità di fatturazione</span>per secondo di video</td><td data-cell-label=\"Condizioni di fatturazione\"><span class=\"card-cell-label\">Condizioni di fatturazione</span>resolution: 720p</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Output · Prezzo del video · Stima solo a fini di confronto</span> <b>$0.1976</b> <span class=\"price-unit\">per secondo di video</span></div></td></tr><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>Costo stimato della generazione</th><td data-cell-label=\"Listino delle tariffe\"><span class=\"card-cell-label\">Listino delle tariffe</span>—</td><td data-cell-label=\"Quantità prevista\"><span class=\"card-cell-label\">Quantità prevista</span>stima per una generazione</td><td data-cell-label=\"Unità di fatturazione\"><span class=\"card-cell-label\">Unità di fatturazione</span>—</td><td data-cell-label=\"Condizioni di fatturazione\"><span class=\"card-cell-label\">Condizioni di fatturazione</span>—</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Output · Costo di generazione stimato · Stima solo a fini di confronto</span> <b>$0.5928</b> <span class=\"price-unit\">stima prima della generazione</span></div><p class=\"note-s\">Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. <a href=\"/docs/it/billing/reserve/\">Come funzionano la prenotazione e l’addebito finale →</a></p><div data-declared-reference-pricing><h4>Dettagli della tariffa di riferimento</h4><p class=\"note-s\">I listini di riferimento del modello non modificano la selezione del metodo, i preventivi o gli addebiti. Gli addebiti attivi usano le tariffe del metodo Ailoot selezionato.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Riferimenti tariffari delle configurazioni video</summary><h4>Prezzi per configurazione</h4><p class=\"note-s\">Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configurazione</th><th>Condizioni di fatturazione</th><th>Costo</th></tr></thead><tbody><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>Prezzo del video</th><td data-cell-label=\"Condizioni di fatturazione\"><span class=\"card-cell-label\">Condizioni di fatturazione</span>resolution: 720p</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Output · Prezzo del video</span> <b>$0.1976</b> <span class=\"price-unit\">per secondo di video</span></div><p class=\"note-s\">Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata.</p></td></tr><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>Prezzo del video</th><td data-cell-label=\"Condizioni di fatturazione\"><span class=\"card-cell-label\">Condizioni di fatturazione</span>resolution: 1080p</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Output · Prezzo del video</span> <b>$0.3388</b> <span class=\"price-unit\">per secondo di video</span></div><p class=\"note-s\">Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata.</p></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esempi di richieste</h3><h4>Ailoot Ultra · Video</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianti di codice\"><button class=\"cg-tab\" id=\"model-code-997-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-997-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · crea un video</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copia il codice\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-997-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-997-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nfrom pathlib import Path\nPath(&#39;request.json&#39;).write_text(&#39;{&quot;aspect_ratio&quot;:&quot;16:9&quot;,&quot;duration&quot;:3,&quot;model&quot;:&quot;alibaba/happyhorse-1.0&quot;,&quot;prompt&quot;:&quot;A serene mountain landscape at sunset&quot;,&quot;resolution&quot;:&quot;720p&quot;}&#39;, encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Ricevi e salva i risultati</h3><h4>Ailoot Ultra · Video</h4><p class=\"note-s\">URL firmati di contenuti di tua proprietà</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{public_id}</code></li><li><code>GET /v1/videos/{public_id}/content</code></li></ul><h5>Verifica lo stato dell’attività</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianti di codice\"><button class=\"cg-tab\" id=\"model-code-998-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-998-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET stato dell’operazione originale</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copia il codice\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-998-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-998-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div><details class=\"card-about\"><summary>Altre letture di contenuto</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianti di codice\"><button class=\"cg-tab\" id=\"model-code-999-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-999-panel-0\" aria-selected=\"true\" tabindex=\"0\">Salva ogni output completato di tua proprietà</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copia il codice\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-999-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-999-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Conserva tutti i risultati completati</h5><p class=\"note-s\">Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.</p><p class=\"note-s\">Conserva ogni risultato effettivo di tua proprietà e i metadati misurati restituiti.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Se occorre verificare la risposta originale</h5><p class=\"note-s\">503 result_pending_check + id originale + X-Should-Retry:false; non ripetere mai l&#39;operazione originale</p></div><details class=\"card-about\" data-output-fields><summary>Campi della risposta</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Campo</th><th>Tipo</th><th>Significato</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">index</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>Posizione di questo video nell&#39;elenco dei risultati, con indice a partire da zero.</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">content_url</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>URL HTTPS firmato per il download di questo video completato.</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">sha256</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string | null</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>Digest SHA-256 dei byte video originali; null se non disponibile.</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">size_bytes</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer | null</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>Dimensione del file video originale in byte; null se non disponibile.</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">duration_ms</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer | null</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>Durata misurata del video in millisecondi; null se non disponibile.</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer | null</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>Larghezza del video in pixel; null se non disponibile.</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer | null</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>Altezza del video in pixel; null se non disponibile.</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">video_codec</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string | null</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>Identificatore del codec video; null se non registrato.</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">has_audio</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>boolean | null</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>Indica se il video contiene una traccia audio; null se non misurato.</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">audio_codec</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string | null</td><td data-cell-label=\"Significato\"><span class=\"card-cell-label\">Significato</span>Identificatore del codec audio; null quando non è registrato alcun identificatore.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Errori e passaggi successivi</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Risposta</th><th>Condizione</th><th>Passaggio successivo</th></tr></thead><tbody><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>L&#39;accesso al video non è disponibile oppure questo ID video non è stato trovato.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Verifica l&#39;accesso al video. Per un video esistente, usa l&#39;ID pubblico originale e la stessa chiave API.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>La chiave API non corrisponde all&#39;account autenticato.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Verifica la chiave API e l&#39;accesso all&#39;account prima dell&#39;invio.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Non è stato possibile leggere la richiesta oppure l&#39;indice di download non è valido.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Correggi il corpo della richiesta. Per un download, scegli un indice di uscita restituito dall&#39;attività originale.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Non è possibile determinare il prezzo della configurazione video selezionata.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Scegli una configurazione video supportata e completa le opzioni obbligatorie prima di inviare una richiesta corretta.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Un input video o l&#39;attività originale di continuazione non è valido.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Usa input HTTPS validi. Per la continuazione, usa l&#39;ID video pubblico del tuo originale completato con la stessa chiave API.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>402 · <code>billing_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Il saldo disponibile o i limiti non consentono di riservare l&#39;importo.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Controlla il saldo disponibile e i limiti prima di inviare una nuova richiesta.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>503 · <code>server_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>La verifica video, l’archiviazione o l’accesso al servizio sono temporaneamente indisponibili.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Attendi che il servizio sia disponibile. Se hai già un ID video, verifica quell&#39;attività originale invece di creare un&#39;altra generazione.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Il risultato video originale e l&#39;addebito devono essere verificati.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Conserva l&#39;ID video restituito e verifica quell&#39;attività. Non inviare una richiesta di generazione sostitutiva mentre la verifica è in corso.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>503 · <code>owned_result_unavailable</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Il download del video esistente è temporaneamente indisponibile.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Verifica in seguito la stessa attività video e scarica il risultato esistente. Una nuova generazione crea un&#39;operazione separata.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Il contenuto video non è stato pubblicato.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Verifica lo stato dell&#39;attività originale. Scarica dopo che segnala completed; se segnala failed, segui l&#39;avviso di verifica dell&#39;addebito.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modello</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=alibaba%2Fhappyhorse-1.0&amp;route=Ultra&amp;caller=alibaba%2Fhappyhorse-1.0&amp;fmt=videos\"><code>alibaba/happyhorse-1.0</code></a></span></p><h4>Alias dei percorsi dei metodi</h4><p class=\"note-s\">Usa i percorsi dei metodi indicati sopra.</p><h4>ID di chiamata correlati</h4><p class=\"note-s\"><a href=\"#m=alibaba%2Fhappyhorse-1.0&amp;route=Ultra&amp;caller=alibaba%2Fhappyhorse-1.0&amp;fmt=videos\"><code>alibaba/happyhorse-1.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "alibaba/happyhorse-1.0",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "alibaba/happyhorse-1.0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|alibaba%2Fhappyhorse-1.0",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Conserva ogni risultato effettivo di tua proprietà e i metadati misurati restituiti.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "L'accesso al video non è disponibile oppure questo ID video non è stato trovato.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Verifica l'accesso al video. Per un video esistente, usa l'ID pubblico originale e la stessa chiave API.",
                "type": "not_found_error"
              },
              {
                "condition": "La chiave API non corrisponde all'account autenticato.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Verifica la chiave API e l'accesso all'account prima dell'invio.",
                "type": "authentication_error"
              },
              {
                "condition": "Non è stato possibile leggere la richiesta oppure l'indice di download non è valido.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Correggi il corpo della richiesta. Per un download, scegli un indice di uscita restituito dall'attività originale.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Non è possibile determinare il prezzo della configurazione video selezionata.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Scegli una configurazione video supportata e completa le opzioni obbligatorie prima di inviare una richiesta corretta.",
                "type": "price_unavailable"
              },
              {
                "condition": "Un input video o l'attività originale di continuazione non è valido.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Usa input HTTPS validi. Per la continuazione, usa l'ID video pubblico del tuo originale completato con la stessa chiave API.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Il saldo disponibile o i limiti non consentono di riservare l'importo.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Controlla il saldo disponibile e i limiti prima di inviare una nuova richiesta.",
                "type": "billing_error"
              },
              {
                "condition": "La verifica video, l’archiviazione o l’accesso al servizio sono temporaneamente indisponibili.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Attendi che il servizio sia disponibile. Se hai già un ID video, verifica quell'attività originale invece di creare un'altra generazione.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Il risultato video originale e l'addebito devono essere verificati.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Conserva l'ID video restituito e verifica quell'attività. Non inviare una richiesta di generazione sostitutiva mentre la verifica è in corso.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Il download del video esistente è temporaneamente indisponibile.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Verifica in seguito la stessa attività video e scarica il risultato esistente. Una nuova generazione crea un'operazione separata.",
                "type": "server_error"
              },
              {
                "condition": "Il contenuto video non è stato pubblicato.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Verifica lo stato dell'attività originale. Scarica dopo che segnala completed; se segnala failed, segui l'avviso di verifica dell'addebito.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + id originale + X-Should-Retry:false; non ripetere mai l'operazione originale"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "alibaba/happyhorse-1.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Fornisci il prompt come testo e la durata in secondi interi. Scegli una risoluzione supportata; aggiungi un rapporto d'aspetto oppure usa una dimensione elencata.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Un prompt scritto."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "alibaba/happyhorse-1.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images è un array. Ogni oggetto fotogramma contiene type, image_url e frame_type; image_url contiene url. Imposta type su image_url. Usa first_frame. Ogni ruolo del fotogramma può comparire al massimo una volta. Fornisci un URL HTTPS pubblico dell'immagine per ogni fotogramma. Scegli una risoluzione supportata; aggiungi un rapporto d'aspetto oppure usa una dimensione elencata.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Un prompt scritto e un'immagine del primo fotogramma."
              },
              {
                "mode": "Reference to video",
                "model": {
                  "enum": [
                    "alibaba/happyhorse-1.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "input_references è un array di oggetti. Imposta type su image_url e usa il campo corrispondente contenente url. Usa URL HTTPS pubblici. Ometti frame_images per selezionare la modalità con riferimenti. Scegli una risoluzione supportata; aggiungi un rapporto d'aspetto oppure usa una dimensione elencata.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "input_references"
                ],
                "required_material": "Un prompt scritto e riferimenti a immagini supportati."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images",
              "reference_to_video"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Posizione di questo video nell'elenco dei risultati, con indice a partire da zero.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "URL HTTPS firmato per il download di questo video completato.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Digest SHA-256 dei byte video originali; null se non disponibile.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Dimensione del file video originale in byte; null se non disponibile.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Durata misurata del video in millisecondi; null se non disponibile.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Larghezza del video in pixel; null se non disponibile.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Altezza del video in pixel; null se non disponibile.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Identificatore del codec video; null se non registrato.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Indica se il video contiene una traccia audio; null se non misurato.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Identificatore del codec audio; null quando non è registrato alcun identificatore.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "URL firmati di contenuti di tua proprietà",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "alibaba/happyhorse-1.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "alibaba/happyhorse-1.0"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "720p",
                    "1080p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4",
                  "21:9",
                  "9:21"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "21:9",
                    "9:21"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Queste chiavi descrivono ogni oggetto fotogramma; image_url contiene solo url. Ometti frame_images per una richiesta di solo testo.",
                "content": "Array di oggetti fotogramma. Ogni oggetto contiene type=image_url, image_url con url e frame_type. Usa un URL HTTPS dell'immagine e imposta frame_type su first_frame. Ogni ruolo del fotogramma compare al massimo una volta.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 1,
                "max_items": 1,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1280x720",
                  "720x1280",
                  "720x720",
                  "960x720",
                  "720x960",
                  "1680x720",
                  "720x1680",
                  "1920x1080",
                  "1080x1920",
                  "1080x1080",
                  "1440x1080",
                  "1080x1440",
                  "2520x1080",
                  "1080x2520"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "1280x720",
                    "720x1280",
                    "720x720",
                    "960x720",
                    "720x960",
                    "1680x720",
                    "720x1680",
                    "1920x1080",
                    "1080x1920",
                    "1080x1080",
                    "1440x1080",
                    "1080x1440",
                    "2520x1080",
                    "1080x2520"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "21:9",
                    "9:21"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "model": {
                  "const": "alibaba/happyhorse-1.0"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "720p",
                    "1080p"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "1280x720",
                    "720x1280",
                    "720x720",
                    "960x720",
                    "720x960",
                    "1680x720",
                    "720x1680",
                    "1920x1080",
                    "1080x1920",
                    "1080x1080",
                    "1440x1080",
                    "1080x1440",
                    "2520x1080",
                    "1080x2520"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist."
              ]
            },
            "unsupported": [
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images",
            "reference_to_video"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Prezzo del video",
            "units": [
              {
                "amount": "0.3388",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.3388",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1976",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1976",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Costo stimato della generazione",
            "units": [
              {
                "amount": "0.5928",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.5928",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"aspect_ratio\":\"16:9\",\"duration\":3,\"model\":\"alibaba/happyhorse-1.0\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.3388",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.3388",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1976",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1976",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.5928",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.5928",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "alibaba/happyhorse-1.0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.3388",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_1080p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.3388",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.1976",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.1976",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.5928",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.5928",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "alibaba/happyhorse-1.0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6c41890b40a1ef505c0deb2af71a4f6e03ff6ce0df787602721ea09966f324d8",
    "input_html_sha256": "5d9bef3ca6dad2e370641c744cd660fa037ab47c85579417a347579545ba5655",
    "private_audit_sha256": "b147c5f093f0c09d33fb63162428bb3e487db8617415461346f9d80d224f9789",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/it/alibaba-happyhorse-1-0/",
    "description": "Alibaba HappyHorse 1.0 crea brevi video con suono da testo, un’immagine iniziale o fino a nove immagini di riferimento. Le modalità di generazione producono MP4 di 3–15 secondi a 24 fps in 720p o 1080p. Un profilo 1.0 di modifica video con nome separato rivede filmati forniti, con riferimenti visivi facoltativi e limiti propri.",
    "locale": "it",
    "md_url": "https://ailoot.ai/models/it/alibaba-happyhorse-1-0/index.md",
    "title": "Alibaba: HappyHorse 1.0 — Ailoot",
    "url": "https://ailoot.ai/models/it/alibaba-happyhorse-1-0/"
  },
  "rawModel": {
    "about": "Alibaba HappyHorse 1.0 è un’edizione di creazione video con profili denominati di generazione da testo, da immagine con primo fotogramma e da riferimenti. Il produttore descrive movimento fisicamente convincente, comprensione semantica e sincronizzazione audiovisiva come priorità creative. Il profilo di riferimenti può usare fino a nove immagini per guidare soggetti e scene. Il risultato utile è una breve clip con suono: una nuova scena, un’animazione da un’immagine iniziale preparata oppure un’inquadratura di personaggio o prodotto guidata da riferimenti.\n\nPer una scena da testo, definisci soggetto, ambientazione, azione e camera, con il suono previsto. Per una scena da tavolo, mostra un piccolo modellino di barca a vela che si muove in una vaschetta d’acqua poco profonda mentre la camera lo segue all’altezza del tavolo. Il controllo può così verificare forma della barca, scala della scena, movimento dell’acqua e rapporto tra movimento e suono. Un’azione focalizzata è più facile da valutare di una sequenza densa il cui momento essenziale non è indicato chiaramente.\n\nPer la generazione con primo fotogramma, usa un’immagine fissa il cui soggetto e la cui composizione corrispondano già all’apertura desiderata. Descrivi il movimento successivo e il percorso della camera. Il profilo immagine 1.0 specifico del produttore accetta input di testo e immagine, mentre la tabella di generazione lo identifica come generazione da immagine con primo fotogramma. Prepara ritaglio e dettagli visibili del prodotto o personaggio prima di generare l’inquadratura. Controlla se quei dettagli restano riconoscibili durante il movimento invece di giudicare soltanto il fotogramma iniziale.\n\nLa generazione da riferimenti combina persone, prodotti, stile o ambientazione mostrati nelle fonti visive in una scena descritta ex novo. La pagina specifica del modello di riferimenti 1.0 documenta fino a nove immagini. Assegna i loro ruoli nel brief e descrivi come il soggetto deve agire nella scena. Una presentazione di prodotto può distinguere il riferimento dell’articolo da quello del luogo circostante o dello stile visivo. L’attenzione del produttore alla stabilità è un obiettivo di verifica: confronta soggetto, segni distintivi e posizione con i riferimenti effettivi lungo tutta la clip.\n\nLa famiglia 1.0 ha anche un profilo di modifica video con nome separato per cambiamenti di stile e revisioni locali o più ampie di filmati esistenti. Quel profilo usa esattamente un video sorgente e da zero a cinque immagini di riferimento, invece della configurazione di generazione con nove immagini. Specifica ciò che deve cambiare e ciò che deve restare, come cambiare un indumento mantenendo persona, movimento e sfondo. Il risultato modificato richiede un confronto con l’intera clip sorgente, non soltanto con un fotogramma che mostra la sostituzione prevista.\n\nLa guida specifica di modifica 1.0 accetta filmati sorgenti MP4 o MOV, consiglia H.264 e permette durate sorgenti da tre a sessanta secondi. Elenca un massimo di 100 MB, un lato corto di almeno 360 pixel, un lato lungo non superiore a 4.096 pixel, proporzioni tra 1:2.5 e 2.5:1 e frame rate in ingresso da otto a sessanta fps. Gli output modificati sono limitati a tre–quindici secondi: sorgenti di quindici secondi o meno mantengono la propria durata, mentre per sorgenti più lunghe vengono usati soltanto i primi quindici secondi. Taglia il passaggio previsto prima di preparare la modifica quando un’azione importante avviene più avanti nella sorgente.\n\nLe immagini di riferimento facoltative del profilo di modifica hanno un proprio limite di venti MB e requisiti di formato JPEG/JPG, PNG o WEBP, con entrambe le dimensioni di almeno 300 pixel e lo stesso intervallo di proporzioni documentato. La guida distingue anche il trattamento automatico dell’audio dal mantenimento dell’audio originale. Prepara il riferimento che identifica il cambiamento previsto e scegli come il suono sorgente deve rapportarsi a esso. Sono controlli specifici del profilo di modifica 1.0, separati dalle modalità di generazione di nuove scene.\n\nPer le modalità di generazione 1.0, la tabella specifica del produttore elenca 720p o 1080p, da tre a quindici secondi, MP4 a 24 fps e audio. Anche il profilo di modifica produce 720p o 1080p entro il proprio limite di quindici secondi. Il flusso documentato restituisce prima un identificatore di elaborazione e, dopo il successo, l’indirizzo del video completato; gli indirizzi dei risultati sono validi per ventiquattro ore. Conserva la clip effettiva, il prompt e i riferimenti quando prepari un montaggio di produzione, e controlla insieme inquadratura, durata e suono restituiti.\n\nHappyHorse 1.1 aggiunge un’opzione di generazione a 480p e miglioramenti dichiarati nei dettagli visivi, nel movimento e nella coerenza tra clip. Queste capacità dichiarate della generazione successiva non sono garantite per la revisione fissa del profilo 1.0. La preparazione utile per 1.0 segue la modalità scelta e i suoi materiali sorgenti effettivi. Controlla identità, contatto fisico, geometria degli oggetti, testo e suono, poi rendi concreta la correzione successiva. Per una clip modificata, verifica anche che i dettagli originali importanti al di fuori del cambiamento richiesto restino adatti alla scena prevista.",
    "alias_of": null,
    "aliases": [],
    "author": "Alibaba",
    "available": null,
    "canonical_model": "alibaba/happyhorse-1.0",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.5928",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.5928",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Tutte le tariffe della configurazione sono riportate nei dettagli."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "006b6dbc4c2837190cee39ab",
        "label": "Riferimenti tariffari delle configurazioni video",
        "profiles": [
          {
            "basis": "Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata.",
            "dimensions": {
              "conditions": "resolution: 720p"
            },
            "label": "Prezzo del video",
            "units": [
              {
                "amount": "0.1976",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata.",
            "dimensions": {
              "conditions": "resolution: 1080p"
            },
            "label": "Prezzo del video",
            "units": [
              {
                "amount": "0.3388",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "alibaba/happyhorse-1.0",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Conserva ogni risultato effettivo di tua proprietà e i metadati misurati restituiti.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "L'accesso al video non è disponibile oppure questo ID video non è stato trovato.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Verifica l'accesso al video. Per un video esistente, usa l'ID pubblico originale e la stessa chiave API.",
                "type": "not_found_error"
              },
              {
                "condition": "La chiave API non corrisponde all'account autenticato.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Verifica la chiave API e l'accesso all'account prima dell'invio.",
                "type": "authentication_error"
              },
              {
                "condition": "Non è stato possibile leggere la richiesta oppure l'indice di download non è valido.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Correggi il corpo della richiesta. Per un download, scegli un indice di uscita restituito dall'attività originale.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Non è possibile determinare il prezzo della configurazione video selezionata.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Scegli una configurazione video supportata e completa le opzioni obbligatorie prima di inviare una richiesta corretta.",
                "type": "price_unavailable"
              },
              {
                "condition": "Un input video o l'attività originale di continuazione non è valido.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Usa input HTTPS validi. Per la continuazione, usa l'ID video pubblico del tuo originale completato con la stessa chiave API.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Il saldo disponibile o i limiti non consentono di riservare l'importo.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Controlla il saldo disponibile e i limiti prima di inviare una nuova richiesta.",
                "type": "billing_error"
              },
              {
                "condition": "La verifica video, l’archiviazione o l’accesso al servizio sono temporaneamente indisponibili.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Attendi che il servizio sia disponibile. Se hai già un ID video, verifica quell'attività originale invece di creare un'altra generazione.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Il risultato video originale e l'addebito devono essere verificati.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Conserva l'ID video restituito e verifica quell'attività. Non inviare una richiesta di generazione sostitutiva mentre la verifica è in corso.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Il download del video esistente è temporaneamente indisponibile.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Verifica in seguito la stessa attività video e scarica il risultato esistente. Una nuova generazione crea un'operazione separata.",
                "type": "server_error"
              },
              {
                "condition": "Il contenuto video non è stato pubblicato.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Verifica lo stato dell'attività originale. Scarica dopo che segnala completed; se segnala failed, segui l'avviso di verifica dell'addebito.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + id originale + X-Should-Retry:false; non ripetere mai l'operazione originale"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "alibaba/happyhorse-1.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Fornisci il prompt come testo e la durata in secondi interi. Scegli una risoluzione supportata; aggiungi un rapporto d'aspetto oppure usa una dimensione elencata.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Un prompt scritto."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "alibaba/happyhorse-1.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images è un array. Ogni oggetto fotogramma contiene type, image_url e frame_type; image_url contiene url. Imposta type su image_url. Usa first_frame. Ogni ruolo del fotogramma può comparire al massimo una volta. Fornisci un URL HTTPS pubblico dell'immagine per ogni fotogramma. Scegli una risoluzione supportata; aggiungi un rapporto d'aspetto oppure usa una dimensione elencata.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Un prompt scritto e un'immagine del primo fotogramma."
              },
              {
                "mode": "Reference to video",
                "model": {
                  "enum": [
                    "alibaba/happyhorse-1.0"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "input_references è un array di oggetti. Imposta type su image_url e usa il campo corrispondente contenente url. Usa URL HTTPS pubblici. Ometti frame_images per selezionare la modalità con riferimenti. Scegli una risoluzione supportata; aggiungi un rapporto d'aspetto oppure usa una dimensione elencata.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "input_references"
                ],
                "required_material": "Un prompt scritto e riferimenti a immagini supportati."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images",
              "reference_to_video"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Posizione di questo video nell'elenco dei risultati, con indice a partire da zero.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "URL HTTPS firmato per il download di questo video completato.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Digest SHA-256 dei byte video originali; null se non disponibile.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Dimensione del file video originale in byte; null se non disponibile.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Durata misurata del video in millisecondi; null se non disponibile.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Larghezza del video in pixel; null se non disponibile.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Altezza del video in pixel; null se non disponibile.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Identificatore del codec video; null se non registrato.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Indica se il video contiene una traccia audio; null se non misurato.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Identificatore del codec audio; null quando non è registrato alcun identificatore.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "URL firmati di contenuti di tua proprietà",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "alibaba/happyhorse-1.0"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "alibaba/happyhorse-1.0"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p",
                  "1080p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "720p",
                    "1080p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4",
                  "21:9",
                  "9:21"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "21:9",
                    "9:21"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Queste chiavi descrivono ogni oggetto fotogramma; image_url contiene solo url. Ometti frame_images per una richiesta di solo testo.",
                "content": "Array di oggetti fotogramma. Ogni oggetto contiene type=image_url, image_url con url e frame_type. Usa un URL HTTPS dell'immagine e imposta frame_type su first_frame. Ogni ruolo del fotogramma compare al massimo una volta.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 1,
                "max_items": 1,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1280x720",
                  "720x1280",
                  "720x720",
                  "960x720",
                  "720x960",
                  "1680x720",
                  "720x1680",
                  "1920x1080",
                  "1080x1920",
                  "1080x1080",
                  "1440x1080",
                  "1080x1440",
                  "2520x1080",
                  "1080x2520"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "1280x720",
                    "720x1280",
                    "720x720",
                    "960x720",
                    "720x960",
                    "1680x720",
                    "720x1680",
                    "1920x1080",
                    "1080x1920",
                    "1080x1080",
                    "1440x1080",
                    "1080x1440",
                    "2520x1080",
                    "1080x2520"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1",
                    "4:3",
                    "3:4",
                    "21:9",
                    "9:21"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "model": {
                  "const": "alibaba/happyhorse-1.0"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "720p",
                    "1080p"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "1280x720",
                    "720x1280",
                    "720x720",
                    "960x720",
                    "720x960",
                    "1680x720",
                    "720x1680",
                    "1920x1080",
                    "1080x1920",
                    "1080x1080",
                    "1440x1080",
                    "1080x1440",
                    "2520x1080",
                    "1080x2520"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist."
              ]
            },
            "unsupported": [
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images",
            "reference_to_video"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Prezzo del video",
            "units": [
              {
                "amount": "0.3388",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.3388",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1976",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1976",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Costo stimato della generazione",
            "units": [
              {
                "amount": "0.5928",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.5928",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"aspect_ratio\":\"16:9\",\"duration\":3,\"model\":\"alibaba/happyhorse-1.0\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 1080p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.3388",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_1080p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.3388",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1976",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1976",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.5928",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.5928",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "alibaba/happyhorse-1.0",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.3388",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_1080p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.3388",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.1976",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.1976",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.5928",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.5928",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "alibaba/happyhorse-1.0",
        "request_model_id": "alibaba/happyhorse-1.0",
        "route_label": "Ultra"
      }
    ],
    "name": "Alibaba: HappyHorse 1.0",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.5928,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.5928,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-t2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.28",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-t2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-t2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.48",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-t2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-t2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-t2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-t2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-t2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 3,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-t2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-t2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 4,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-t2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-t2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 5,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-t2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-t2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 6,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-t2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-t2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 7,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-i2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.28",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-i2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 8,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-i2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.48",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-i2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 9,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-i2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-i2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 10,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-i2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-i2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 11,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-i2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-i2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 12,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-i2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-i2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 13,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-i2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-i2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 14,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-i2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-i2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 15,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-r2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-r2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.28",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-r2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-r2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 16,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-r2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-r2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.48",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-r2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-r2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 17,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-r2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-r2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-r2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-r2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 18,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-r2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-r2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-r2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-r2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 19,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-r2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-r2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-r2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-r2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 20,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-r2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-r2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-r2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-r2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 21,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-r2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "happyhorse-1.0-r2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-r2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "happyhorse-1.0-r2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 22,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-r2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "happyhorse-1.0-r2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-r2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "happyhorse-1.0-r2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 23,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.28",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 24,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.28",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 25,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.48",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 26,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.48",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 27,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 28,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 29,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 30,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 31,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 32,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 33,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 34,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 35,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 36,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 37,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 38,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 39,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 40,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.247538",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 41,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 42,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "Global",
          "Model ID": "happyhorse-1.0-video-edit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "happyhorse-1.0-video-edit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.440068",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "Global",
              "Model ID": "happyhorse-1.0-video-edit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "happyhorse-1.0-video-edit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 43,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.1976",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.1976",
            "key": "duration_seconds_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.1976",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.3388",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=1080p",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.3388",
            "key": "duration_seconds_1080p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.3388",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          }
        ]
      }
    ],
    "public_id": "alibaba/happyhorse-1.0",
    "short": "Alibaba HappyHorse 1.0 crea brevi video con suono da testo, un’immagine iniziale o fino a nove immagini di riferimento. Le modalità di generazione producono MP4 di 3–15 secondi a 24 fps in 720p o 1080p. Un profilo 1.0 di modifica video con nome separato rivede filmati forniti, con riferimenti visivi facoltativi e limiti propri."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Alibaba HappyHorse 1.0 crea brevi video con suono da testo, un’immagine iniziale o fino a nove immagini di riferimento. Le modalità di generazione producono MP4 di 3–15 secondi a 24 fps in 720p o 1080p. Un profilo 1.0 di modifica video con nome separato rivede filmati forniti, con riferimenti visivi facoltativi e limiti propri.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_exact_canonical_sha256": "6c5744be3c1f5f8142bb57e124609bc9e75bc5fc60b9d90d6547057b1e40f0a9",
    "raw_model_js_projection_sha256": "99b0a73966a69a7bb87b66754e97576dfd393e83725303ee0b48ec78a972ce98",
    "raw_model_json_sha256": "6c5744be3c1f5f8142bb57e124609bc9e75bc5fc60b9d90d6547057b1e40f0a9",
    "renderer_sha256": "3be1a96012c3c76b38a7b9bea6a57c0def38c56103737bee6a5e77aaa75e488a"
  },
  "sourceRevision": "529b42c70c9a7bffd45a776134737e9fac88a5a80365e56b0a7b19c01ad31e59"
}
