{
  "aboutHtml": "<p>Aleph 2.0 è il modello di Runway per la modifica video in contesto. Trasforma filmati esistenti, tradizionali o generati, usando un’istruzione scritta e una guida facoltativa con fotogrammi chiave. Il flusso previsto cambia la parte richiesta della scena preservando composizione, illuminazione e dettagli circostanti, rendendolo utile per sostituire un prodotto, cambiare abiti, trasformare lo sfondo, modificare l’illuminazione o lo stile visivo senza ricreare l’intera scena da un brief testuale.</p><p>Inizia con un’azione diretta e la trasformazione desiderata: aggiungere, rimuovere, sostituire, cambiare, modificare l’illuminazione o lo stile. Per sostituire un prodotto, identifica l’oggetto visibile e descrivi il sostituto, poi specifica quali movimenti della mano e della camera e quale ambientazione circostante devono restare. Per una scena stagionale, descrivi il tempo atmosferico o la luce da cambiare. Un’istruzione concisa e mirata offre un obiettivo di modifica più chiaro di una richiesta generale di migliorare l’intero clip.</p><p>La guida tramite fotogrammi chiave definisce come deve apparire il risultato modificato in un momento particolare. Scegli un fotogramma che mostri chiaramente l’elemento interessato: una vista ampia per cambiare lo sfondo o una più ravvicinata per una piccola caratteristica o un accessorio. Nel flusso Edit Studio di Runway, la modifica di un’immagine fissa può essere visualizzata in anteprima e perfezionata prima che la versione selezionata guidi la trasformazione video. Confronta il fotogramma modificato con la sorgente per dettagli del soggetto, bordi e oggetti da preservare, poi usalo come direzione visiva per il clip.</p><p>L’API del produttore supporta video sorgenti da 2 a 30 secondi e fino a cinque immagini facoltative di fotogrammi chiave collocate in momenti specificati. Mantieni ogni immagine guida associata al punto previsto nella sorgente e usa pochi cambiamenti chiari invece di una raccolta di obiettivi visivi contrastanti. Aleph 2.0 è distinto dal precedente modello Gen-4 Aleph; il produttore identifica separatamente il suo modello API. Una modifica guidata da fotogrammi chiave è anche diversa dal chiedere a un modello da testo a video di creare un’inquadratura non collegata.</p><p>Le regole di preparazione documentate di Edit Studio usano rapporti d’aspetto convenzionali, risoluzione sorgente tra 480p e 1080p e 24–30 fotogrammi al secondo, con non più di dieci tagli o cambi di inquadratura. Consigliano materiale sorgente a 720p o 1080p; nell’interfaccia, i filmati oltre 30 fps vengono ricampionati a una frequenza inferiore e i caricamenti oltre 30 secondi vengono tagliati. Sono le regole di preparazione del flusso di modifica del produttore. Scegli un segmento sorgente che mostri l’intero evento da modificare e il cui soggetto resti visibile dove il cambiamento deve mantenersi.</p><p>Il modello può propagare uno sfondo, un abito, un oggetto, una luce o uno stile modificati lungo il filmato. Un’istruzione di movimento aggiuntivo è utile quando la modifica richiede una nuova azione assente dalla sorgente e non deducibile dal solo fotogramma chiave, come un effetto visivo che si sviluppa nel tempo. Molte modifiche non richiedono un brief di movimento aggiuntivo, perché il modello anima l’adattamento del fotogramma chiave all’interno della scena esistente. Descrivi specificamente il nuovo movimento e tienilo distinto dal cambiamento visivo già definito dal fotogramma chiave.</p><p>Il flusso di modifica del produttore applica per impostazione predefinita il cambiamento all’intero video e può limitarlo a un intervallo selezionato della timeline. Conserva il clip originale, così il risultato scelto può essere confrontato con la sorgente e usato per un seguito mirato. Un controllo pratico va oltre il fotogramma selezionato: esamina inizio, parte centrale, fine, ogni taglio e il periodo in cui l’elemento interessato è brevemente nascosto. Il risultato utile è un clip modificato la cui trasformazione richiesta resta coerente nel tempo mentre gli elementi importanti invariati conservano il loro ruolo.</p><p>MP4 è il formato predefinito per riproduzione e condivisione. Il flusso Edit Studio di Runway per video completi idonei offre anche ProRes come file MOV con audio PCM oppure un ZIP di singoli fotogrammi PNG per il compositing. I profili ProRes vanno da 422 Proxy a 4444 XQ. Le modifiche limitate a un intervallo della timeline restituiscono MP4, e il formato di output si sceglie all’avvio della generazione invece di cambiarlo dopo il risultato completato. Seleziona la forma di esportazione del produttore adatta al successivo lavoro di montaggio, mantenendola distinta dalla capacità fondamentale di modifica visiva del modello.</p><p>Per una modifica finale utile, confronta sostituzione, illuminazione o stile previsti con il fotogramma chiave e controlla i dettagli circostanti che non dovevano cambiare. Conserva la versione riuscita e rivedi l’istruzione specifica o il fotogramma guida responsabile di una differenza. Il ruolo di Aleph 2.0 è trasformare filmati sorgenti tramite un obiettivo visivo chiaro; produrre una nuova colonna sonora, cambiare il comportamento di un’applicazione o completare una pipeline separata di consegna per la diffusione sono attività aggiuntive intorno al video modificato.</p>",
  "aboutText": "Aleph 2.0 è il modello di Runway per la modifica video in contesto. Trasforma filmati esistenti, tradizionali o generati, usando un’istruzione scritta e una guida facoltativa con fotogrammi chiave. Il flusso previsto cambia la parte richiesta della scena preservando composizione, illuminazione e dettagli circostanti, rendendolo utile per sostituire un prodotto, cambiare abiti, trasformare lo sfondo, modificare l’illuminazione o lo stile visivo senza ricreare l’intera scena da un brief testuale.\n\nInizia con un’azione diretta e la trasformazione desiderata: aggiungere, rimuovere, sostituire, cambiare, modificare l’illuminazione o lo stile. Per sostituire un prodotto, identifica l’oggetto visibile e descrivi il sostituto, poi specifica quali movimenti della mano e della camera e quale ambientazione circostante devono restare. Per una scena stagionale, descrivi il tempo atmosferico o la luce da cambiare. Un’istruzione concisa e mirata offre un obiettivo di modifica più chiaro di una richiesta generale di migliorare l’intero clip.\n\nLa guida tramite fotogrammi chiave definisce come deve apparire il risultato modificato in un momento particolare. Scegli un fotogramma che mostri chiaramente l’elemento interessato: una vista ampia per cambiare lo sfondo o una più ravvicinata per una piccola caratteristica o un accessorio. Nel flusso Edit Studio di Runway, la modifica di un’immagine fissa può essere visualizzata in anteprima e perfezionata prima che la versione selezionata guidi la trasformazione video. Confronta il fotogramma modificato con la sorgente per dettagli del soggetto, bordi e oggetti da preservare, poi usalo come direzione visiva per il clip.\n\nL’API del produttore supporta video sorgenti da 2 a 30 secondi e fino a cinque immagini facoltative di fotogrammi chiave collocate in momenti specificati. Mantieni ogni immagine guida associata al punto previsto nella sorgente e usa pochi cambiamenti chiari invece di una raccolta di obiettivi visivi contrastanti. Aleph 2.0 è distinto dal precedente modello Gen-4 Aleph; il produttore identifica separatamente il suo modello API. Una modifica guidata da fotogrammi chiave è anche diversa dal chiedere a un modello da testo a video di creare un’inquadratura non collegata.\n\nLe regole di preparazione documentate di Edit Studio usano rapporti d’aspetto convenzionali, risoluzione sorgente tra 480p e 1080p e 24–30 fotogrammi al secondo, con non più di dieci tagli o cambi di inquadratura. Consigliano materiale sorgente a 720p o 1080p; nell’interfaccia, i filmati oltre 30 fps vengono ricampionati a una frequenza inferiore e i caricamenti oltre 30 secondi vengono tagliati. Sono le regole di preparazione del flusso di modifica del produttore. Scegli un segmento sorgente che mostri l’intero evento da modificare e il cui soggetto resti visibile dove il cambiamento deve mantenersi.\n\nIl modello può propagare uno sfondo, un abito, un oggetto, una luce o uno stile modificati lungo il filmato. Un’istruzione di movimento aggiuntivo è utile quando la modifica richiede una nuova azione assente dalla sorgente e non deducibile dal solo fotogramma chiave, come un effetto visivo che si sviluppa nel tempo. Molte modifiche non richiedono un brief di movimento aggiuntivo, perché il modello anima l’adattamento del fotogramma chiave all’interno della scena esistente. Descrivi specificamente il nuovo movimento e tienilo distinto dal cambiamento visivo già definito dal fotogramma chiave.\n\nIl flusso di modifica del produttore applica per impostazione predefinita il cambiamento all’intero video e può limitarlo a un intervallo selezionato della timeline. Conserva il clip originale, così il risultato scelto può essere confrontato con la sorgente e usato per un seguito mirato. Un controllo pratico va oltre il fotogramma selezionato: esamina inizio, parte centrale, fine, ogni taglio e il periodo in cui l’elemento interessato è brevemente nascosto. Il risultato utile è un clip modificato la cui trasformazione richiesta resta coerente nel tempo mentre gli elementi importanti invariati conservano il loro ruolo.\n\nMP4 è il formato predefinito per riproduzione e condivisione. Il flusso Edit Studio di Runway per video completi idonei offre anche ProRes come file MOV con audio PCM oppure un ZIP di singoli fotogrammi PNG per il compositing. I profili ProRes vanno da 422 Proxy a 4444 XQ. Le modifiche limitate a un intervallo della timeline restituiscono MP4, e il formato di output si sceglie all’avvio della generazione invece di cambiarlo dopo il risultato completato. Seleziona la forma di esportazione del produttore adatta al successivo lavoro di montaggio, mantenendola distinta dalla capacità fondamentale di modifica visiva del modello.\n\nPer una modifica finale utile, confronta sostituzione, illuminazione o stile previsti con il fotogramma chiave e controlla i dettagli circostanti che non dovevano cambiare. Conserva la versione riuscita e rivedi l’istruzione specifica o il fotogramma guida responsabile di una differenza. Il ruolo di Aleph 2.0 è trasformare filmati sorgenti tramite un obiettivo visivo chiaro; produrre una nuova colonna sonora, cambiare il comportamento di un’applicazione o completare una pipeline separata di consegna per la diffusione sono attività aggiuntive intorno al video modificato.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "b94bc806f25b88846e8cae166ec15fe076f04e3ddae1fe1b144cfe7acfca0fac",
    "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\">•</span><h2 id=\"sheet-title\">Runway: Aleph 2.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Chiudi\">×</button></div><div class=\"idline\"><span>Runway /</span><code>runway/aleph-2</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|runway%2Faleph-2\">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\">Aleph 2.0 modifica video esistenti tramite istruzioni testuali mirate e guida con fotogrammi chiave. Usalo per sostituire un oggetto, cambiare sfondo, abiti, illuminazione o stile, indicando quali dettagli della scena originale devono restare intatti.</p><dl class=\"card-io\" data-card-io><div><dt>Input accettati</dt><dd>Testo · Immagini · Audio · Video</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>Aleph 2.0 è il modello di Runway per la modifica video in contesto. Trasforma filmati esistenti, tradizionali o generati, usando un’istruzione scritta e una guida facoltativa con fotogrammi chiave. Il flusso previsto cambia la parte richiesta della scena preservando composizione, illuminazione e dettagli circostanti, rendendolo utile per sostituire un prodotto, cambiare abiti, trasformare lo sfondo, modificare l’illuminazione o lo stile visivo senza ricreare l’intera scena da un brief testuale.</p><p>Inizia con un’azione diretta e la trasformazione desiderata: aggiungere, rimuovere, sostituire, cambiare, modificare l’illuminazione o lo stile. Per sostituire un prodotto, identifica l’oggetto visibile e descrivi il sostituto, poi specifica quali movimenti della mano e della camera e quale ambientazione circostante devono restare. Per una scena stagionale, descrivi il tempo atmosferico o la luce da cambiare. Un’istruzione concisa e mirata offre un obiettivo di modifica più chiaro di una richiesta generale di migliorare l’intero clip.</p><p>La guida tramite fotogrammi chiave definisce come deve apparire il risultato modificato in un momento particolare. Scegli un fotogramma che mostri chiaramente l’elemento interessato: una vista ampia per cambiare lo sfondo o una più ravvicinata per una piccola caratteristica o un accessorio. Nel flusso Edit Studio di Runway, la modifica di un’immagine fissa può essere visualizzata in anteprima e perfezionata prima che la versione selezionata guidi la trasformazione video. Confronta il fotogramma modificato con la sorgente per dettagli del soggetto, bordi e oggetti da preservare, poi usalo come direzione visiva per il clip.</p><p>L’API del produttore supporta video sorgenti da 2 a 30 secondi e fino a cinque immagini facoltative di fotogrammi chiave collocate in momenti specificati. Mantieni ogni immagine guida associata al punto previsto nella sorgente e usa pochi cambiamenti chiari invece di una raccolta di obiettivi visivi contrastanti. Aleph 2.0 è distinto dal precedente modello Gen-4 Aleph; il produttore identifica separatamente il suo modello API. Una modifica guidata da fotogrammi chiave è anche diversa dal chiedere a un modello da testo a video di creare un’inquadratura non collegata.</p><p>Le regole di preparazione documentate di Edit Studio usano rapporti d’aspetto convenzionali, risoluzione sorgente tra 480p e 1080p e 24–30 fotogrammi al secondo, con non più di dieci tagli o cambi di inquadratura. Consigliano materiale sorgente a 720p o 1080p; nell’interfaccia, i filmati oltre 30 fps vengono ricampionati a una frequenza inferiore e i caricamenti oltre 30 secondi vengono tagliati. Sono le regole di preparazione del flusso di modifica del produttore. Scegli un segmento sorgente che mostri l’intero evento da modificare e il cui soggetto resti visibile dove il cambiamento deve mantenersi.</p><p>Il modello può propagare uno sfondo, un abito, un oggetto, una luce o uno stile modificati lungo il filmato. Un’istruzione di movimento aggiuntivo è utile quando la modifica richiede una nuova azione assente dalla sorgente e non deducibile dal solo fotogramma chiave, come un effetto visivo che si sviluppa nel tempo. Molte modifiche non richiedono un brief di movimento aggiuntivo, perché il modello anima l’adattamento del fotogramma chiave all’interno della scena esistente. Descrivi specificamente il nuovo movimento e tienilo distinto dal cambiamento visivo già definito dal fotogramma chiave.</p><p>Il flusso di modifica del produttore applica per impostazione predefinita il cambiamento all’intero video e può limitarlo a un intervallo selezionato della timeline. Conserva il clip originale, così il risultato scelto può essere confrontato con la sorgente e usato per un seguito mirato. Un controllo pratico va oltre il fotogramma selezionato: esamina inizio, parte centrale, fine, ogni taglio e il periodo in cui l’elemento interessato è brevemente nascosto. Il risultato utile è un clip modificato la cui trasformazione richiesta resta coerente nel tempo mentre gli elementi importanti invariati conservano il loro ruolo.</p><p>MP4 è il formato predefinito per riproduzione e condivisione. Il flusso Edit Studio di Runway per video completi idonei offre anche ProRes come file MOV con audio PCM oppure un ZIP di singoli fotogrammi PNG per il compositing. I profili ProRes vanno da 422 Proxy a 4444 XQ. Le modifiche limitate a un intervallo della timeline restituiscono MP4, e il formato di output si sceglie all’avvio della generazione invece di cambiarlo dopo il risultato completato. Seleziona la forma di esportazione del produttore adatta al successivo lavoro di montaggio, mantenendola distinta dalla capacità fondamentale di modifica visiva del modello.</p><p>Per una modifica finale utile, confronta sostituzione, illuminazione o stile previsti con il fotogramma chiave e controlla i dettagli circostanti che non dovevano cambiare. Conserva la versione riuscita e rivedi l’istruzione specifica o il fotogramma guida responsabile di una differenza. Il ruolo di Aleph 2.0 è trasformare filmati sorgenti tramite un obiettivo visivo chiaro; produrre una nuova colonna sonora, cambiare il comportamento di un’applicazione o completare una pipeline separata di consegna per la diffusione sono attività aggiuntive intorno al video modificato.</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 · Generazione 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>, <code>audio</code>, <code>video</code></dd></div><div><dt>Tipi di output</dt><dd><code>video</code></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><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>runway/aleph-2</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr><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>Obbligatorio</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></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr><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><div>Lunghezza minima: 1</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr></tbody></table></div><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, input_references, prompt</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, audio, video</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>material_conditions</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>Usa esattamente un URL reale del contenuto di una risorsa video completata di tua proprietà con la firma restituita. Il proprietario della risorsa, il tipo e la prova dei byte memorizzati devono corrispondere alla richiesta.</td></tr></tbody></table></div><p>Ciclo di vita: <code>asynchronous_job_then_owned_outputs</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code> · id o polling_url effettivamente restituito</p><p class=\"note-s\"><code>GET /v1/videos/{request_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. Applica la regola del costo minimo indicata per quella configurazione.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configurazione</th><th>Listino delle tariffe</th><th>Quantità prevista</th><th>Componente del costo</th><th>Unità di fatturazione</th><th>Condizioni di fatturazione</th><th>Regola del costo minimo</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=\"Componente del costo\"><span class=\"card-cell-label\">Componente del costo</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=\"Regola del costo minimo\"><span class=\"card-cell-label\">Regola del costo minimo</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=\"Componente del costo\"><span class=\"card-cell-label\">Componente del costo</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>In questa chiave tariffaria non è dichiarata alcuna condizione aggiuntiva.</td><td data-cell-label=\"Regola del costo minimo\"><span class=\"card-cell-label\">Regola del costo minimo</span>—</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.56</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>Minimo per 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>—</td><td data-cell-label=\"Componente del costo\"><span class=\"card-cell-label\">Componente del costo</span>Costo minimo</td><td data-cell-label=\"Unità di fatturazione\"><span class=\"card-cell-label\">Unità di fatturazione</span>costo minimo di generazione</td><td data-cell-label=\"Condizioni di fatturazione\"><span class=\"card-cell-label\">Condizioni di fatturazione</span>In questa chiave tariffaria non è dichiarata alcuna condizione aggiuntiva.</td><td data-cell-label=\"Regola del costo minimo\"><span class=\"card-cell-label\">Regola del costo minimo</span>Sì</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>total · Minimo per generazione · Stima solo a fini di confronto</span> <b>$1.12</b> <span class=\"price-unit\">costo minimo di generazione</span></div><p class=\"note-s\">Addebito minimo per generazione; applicalo come minimo, non come costo aggiuntivo. Non implica una durata minima.</p></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=\"Componente del costo\"><span class=\"card-cell-label\">Componente del costo</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=\"Regola del costo minimo\"><span class=\"card-cell-label\">Regola del costo minimo</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.56</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></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esempi di richieste</h3><h4>Ailoot Ultra · Generazione 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-2561-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2561-panel-0\" aria-selected=\"true\" tabindex=\"0\">Usa l’input effettivo e conserva il risultato completo</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-2561-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2561-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_REFERENCES_JSON\n: &quot;${AILOOT_PROMPT:?Set the actual documented input value}&quot;\nexport AILOOT_PROMPT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;runway/aleph-2&#39;, &#39;input_references&#39;: &#39;${ACTUAL_OWNED_INPUT_REFERENCES}&#39;, &#39;prompt&#39;: &#39;${ACTUAL_EDIT_PROMPT}&#39;}\nrequest[&#39;input_references&#39;]=json.loads(os.environ[&#39;AILOOT_INPUT_REFERENCES_JSON&#39;])\nrequest[&#39;prompt&#39;]=os.environ[&#39;AILOOT_PROMPT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\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 · Generazione video</h4><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li></ul><h5>Salva tutte le risorse completate</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-2562-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2562-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET tutte le risorse completate</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-2562-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2562-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}&quot;\nexport AILOOT_STATUS_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[&quot;AILOOT_STATUS_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose the actual completed status file&quot;)\nr=json.loads(f.read_text())\nif r.get(&quot;status&quot;)!=&quot;completed&quot; or not isinstance(r.get(&quot;data&quot;),list) or not r[&quot;data&quot;]:raise SystemExit(&quot;Wait for a completed status with asset paths&quot;)\nurls=[]\nfor x in r[&quot;data&quot;]:\n    if not isinstance(x,str) or &quot;\\n&quot; in x or &quot;\\r&quot; in x:raise SystemExit(&quot;Invalid asset path&quot;)\n    u=urljoin(&quot;https://api.ailoot.ai&quot;,x)\n    z=urlsplit(u)\n    if z.scheme!=&quot;https&quot; or z.netloc!=&quot;api.ailoot.ai&quot; or z.username or z.password:raise SystemExit(&quot;Use the actual Ailoot asset paths from status&quot;)\n    urls.append(u)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; \\\n    -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o &quot;video-${index}.mp4&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\n</code></pre></div></div></div><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 la risposta completa e gli header, ogni output effettivo, gli identificatori originali restituiti e tutti i campi di utilizzo. Recupera l&#39;operazione originale senza inviare nuovamente la richiesta di creazione.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Se occorre verificare la risposta originale</h5><p class=\"note-s\">Conserva X-Client-Request-ID, X-Ailoot-Task-Id e id/polling_url effettivamente restituiti. Prosegui con l&#39;attività originale; non inviare nuovamente la richiesta di creazione.</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></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span></td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span></td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span></td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">outputs[]</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span></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=runway%2Faleph-2&amp;route=Ultra&amp;caller=runway%2Faleph-2&amp;fmt=videos\"><code>runway/aleph-2</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=runway%2Faleph-2&amp;route=Ultra&amp;caller=runway%2Faleph-2&amp;fmt=videos\"><code>runway/aleph-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "runway/aleph-2",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|runway%2Faleph-2",
      "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": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "Conserva X-Client-Request-ID, X-Ailoot-Task-Id e id/polling_url effettivamente restituiti. Prosegui con l'attività originale; non inviare nuovamente la richiesta di creazione."
            },
            "outputs": {
              "all_results": "Conserva la risposta completa e gli header, ogni output effettivo, gli identificatori originali restituiti e tutti i campi di utilizzo. Recupera l'operazione originale senza inviare nuovamente la richiesta di creazione.",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "runway/aleph-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "runway/aleph-2"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Actual nonblank edit prompt; maximum10000 UTF-8 bytes.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "runway/aleph-2",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Usa esattamente un URL reale del contenuto di una risorsa video completata di tua proprietà con la firma restituita. Il proprietario della risorsa, il tipo e la prova dei byte memorizzati devono corrispondere alla richiesta."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "id o polling_url effettivamente restituito",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "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": "In questa chiave tariffaria non è dichiarata alcuna condizione aggiuntiva.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "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": "Addebito minimo per generazione; applicalo come minimo, non come costo aggiuntivo. Non implica una durata minima.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Minimo per generazione",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "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.56",
                "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.56",
                "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}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'runway/aleph-2', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    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 Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "Generazione video",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "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": "Minimum charge per generation; apply it as a minimum, not an extra fee. No minimum duration is implied.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Generation minimum",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "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.56",
                "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.56",
                "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": "runway/aleph-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "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.56",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.56",
            "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": "1.12",
            "amount_unit": "usd_per_generation",
            "billing_input": false,
            "estimate_only": true,
            "key": "minimum_cents_per_generation",
            "label": "Generation minimum",
            "native_amount_usd_per_unit": "1.12",
            "native_quantity": 1,
            "public_unit_label": "minimum generation charge",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "total",
            "unit": "generation"
          },
          {
            "amount": "0.56",
            "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.56",
            "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": "runway/aleph-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "ee5424ab8346b63eeb77ce593b145347d1a0a0e97c6b2d10aed285a746df3f0a",
    "input_html_sha256": "f4c65a9f8dee7930483bc121af4110eda35c38f7b30523e8e03f8a399a86aa50",
    "private_audit_sha256": "7a37aac3c304326ec6bdff7078999e9dfe413de9504e131ca922bcf425acd619",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/it/runway-aleph-2/",
    "description": "Aleph 2.0 modifica video esistenti tramite istruzioni testuali mirate e guida con fotogrammi chiave. Usalo per sostituire un oggetto, cambiare sfondo, abiti, illuminazione o stile, indicando quali dettagli della scena originale devono restare intatti.",
    "locale": "it",
    "md_url": "https://ailoot.ai/models/it/runway-aleph-2/index.md",
    "title": "Runway: Aleph 2.0 — Ailoot",
    "url": "https://ailoot.ai/models/it/runway-aleph-2/"
  },
  "rawModel": {
    "about": "Aleph 2.0 è il modello di Runway per la modifica video in contesto. Trasforma filmati esistenti, tradizionali o generati, usando un’istruzione scritta e una guida facoltativa con fotogrammi chiave. Il flusso previsto cambia la parte richiesta della scena preservando composizione, illuminazione e dettagli circostanti, rendendolo utile per sostituire un prodotto, cambiare abiti, trasformare lo sfondo, modificare l’illuminazione o lo stile visivo senza ricreare l’intera scena da un brief testuale.\n\nInizia con un’azione diretta e la trasformazione desiderata: aggiungere, rimuovere, sostituire, cambiare, modificare l’illuminazione o lo stile. Per sostituire un prodotto, identifica l’oggetto visibile e descrivi il sostituto, poi specifica quali movimenti della mano e della camera e quale ambientazione circostante devono restare. Per una scena stagionale, descrivi il tempo atmosferico o la luce da cambiare. Un’istruzione concisa e mirata offre un obiettivo di modifica più chiaro di una richiesta generale di migliorare l’intero clip.\n\nLa guida tramite fotogrammi chiave definisce come deve apparire il risultato modificato in un momento particolare. Scegli un fotogramma che mostri chiaramente l’elemento interessato: una vista ampia per cambiare lo sfondo o una più ravvicinata per una piccola caratteristica o un accessorio. Nel flusso Edit Studio di Runway, la modifica di un’immagine fissa può essere visualizzata in anteprima e perfezionata prima che la versione selezionata guidi la trasformazione video. Confronta il fotogramma modificato con la sorgente per dettagli del soggetto, bordi e oggetti da preservare, poi usalo come direzione visiva per il clip.\n\nL’API del produttore supporta video sorgenti da 2 a 30 secondi e fino a cinque immagini facoltative di fotogrammi chiave collocate in momenti specificati. Mantieni ogni immagine guida associata al punto previsto nella sorgente e usa pochi cambiamenti chiari invece di una raccolta di obiettivi visivi contrastanti. Aleph 2.0 è distinto dal precedente modello Gen-4 Aleph; il produttore identifica separatamente il suo modello API. Una modifica guidata da fotogrammi chiave è anche diversa dal chiedere a un modello da testo a video di creare un’inquadratura non collegata.\n\nLe regole di preparazione documentate di Edit Studio usano rapporti d’aspetto convenzionali, risoluzione sorgente tra 480p e 1080p e 24–30 fotogrammi al secondo, con non più di dieci tagli o cambi di inquadratura. Consigliano materiale sorgente a 720p o 1080p; nell’interfaccia, i filmati oltre 30 fps vengono ricampionati a una frequenza inferiore e i caricamenti oltre 30 secondi vengono tagliati. Sono le regole di preparazione del flusso di modifica del produttore. Scegli un segmento sorgente che mostri l’intero evento da modificare e il cui soggetto resti visibile dove il cambiamento deve mantenersi.\n\nIl modello può propagare uno sfondo, un abito, un oggetto, una luce o uno stile modificati lungo il filmato. Un’istruzione di movimento aggiuntivo è utile quando la modifica richiede una nuova azione assente dalla sorgente e non deducibile dal solo fotogramma chiave, come un effetto visivo che si sviluppa nel tempo. Molte modifiche non richiedono un brief di movimento aggiuntivo, perché il modello anima l’adattamento del fotogramma chiave all’interno della scena esistente. Descrivi specificamente il nuovo movimento e tienilo distinto dal cambiamento visivo già definito dal fotogramma chiave.\n\nIl flusso di modifica del produttore applica per impostazione predefinita il cambiamento all’intero video e può limitarlo a un intervallo selezionato della timeline. Conserva il clip originale, così il risultato scelto può essere confrontato con la sorgente e usato per un seguito mirato. Un controllo pratico va oltre il fotogramma selezionato: esamina inizio, parte centrale, fine, ogni taglio e il periodo in cui l’elemento interessato è brevemente nascosto. Il risultato utile è un clip modificato la cui trasformazione richiesta resta coerente nel tempo mentre gli elementi importanti invariati conservano il loro ruolo.\n\nMP4 è il formato predefinito per riproduzione e condivisione. Il flusso Edit Studio di Runway per video completi idonei offre anche ProRes come file MOV con audio PCM oppure un ZIP di singoli fotogrammi PNG per il compositing. I profili ProRes vanno da 422 Proxy a 4444 XQ. Le modifiche limitate a un intervallo della timeline restituiscono MP4, e il formato di output si sceglie all’avvio della generazione invece di cambiarlo dopo il risultato completato. Seleziona la forma di esportazione del produttore adatta al successivo lavoro di montaggio, mantenendola distinta dalla capacità fondamentale di modifica visiva del modello.\n\nPer una modifica finale utile, confronta sostituzione, illuminazione o stile previsti con il fotogramma chiave e controlla i dettagli circostanti che non dovevano cambiare. Conserva la versione riuscita e rivedi l’istruzione specifica o il fotogramma guida responsabile di una differenza. Il ruolo di Aleph 2.0 è trasformare filmati sorgenti tramite un obiettivo visivo chiaro; produrre una nuova colonna sonora, cambiare il comportamento di un’applicazione o completare una pipeline separata di consegna per la diffusione sono attività aggiuntive intorno al video modificato.",
    "alias_of": null,
    "aliases": [],
    "author": "Runway",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image",
        "video"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.56",
            "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.56",
            "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,
    "formats": [
      "videos"
    ],
    "id": "runway/aleph-2",
    "input": [
      "text",
      "image",
      "audio",
      "video"
    ],
    "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": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "Conserva X-Client-Request-ID, X-Ailoot-Task-Id e id/polling_url effettivamente restituiti. Prosegui con l'attività originale; non inviare nuovamente la richiesta di creazione."
            },
            "outputs": {
              "all_results": "Conserva la risposta completa e gli header, ogni output effettivo, gli identificatori originali restituiti e tutti i campi di utilizzo. Recupera l'operazione originale senza inviare nuovamente la richiesta di creazione.",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "runway/aleph-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "runway/aleph-2"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Actual nonblank edit prompt; maximum10000 UTF-8 bytes.",
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "runway/aleph-2",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Usa esattamente un URL reale del contenuto di una risorsa video completata di tua proprietà con la firma restituita. Il proprietario della risorsa, il tipo e la prova dei byte memorizzati devono corrispondere alla richiesta."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "id o polling_url effettivamente restituito",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "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": "In questa chiave tariffaria non è dichiarata alcuna condizione aggiuntiva.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "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": "Addebito minimo per generazione; applicalo come minimo, non come costo aggiuntivo. Non implica una durata minima.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Minimo per generazione",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "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.56",
                "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.56",
                "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}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'runway/aleph-2', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    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 Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "Generazione video",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.56",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.56",
                "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": "Minimum charge per generation; apply it as a minimum, not an extra fee. No minimum duration is implied.",
            "dimensions": {
              "billing_component_role": "minimum",
              "conditions": "No additional condition is declared in this pricing key.",
              "is_floor_not_additive_charge": true,
              "quoted_unit": "minimum generation charge"
            },
            "label": "Generation minimum",
            "units": [
              {
                "amount": "1.12",
                "amount_unit": "usd_per_generation",
                "billing_input": false,
                "estimate_only": true,
                "key": "minimum_cents_per_generation",
                "label": "Generation minimum",
                "native_amount_usd_per_unit": "1.12",
                "native_quantity": 1,
                "public_unit_label": "minimum generation charge",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "total",
                "unit": "generation"
              }
            ]
          },
          {
            "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.56",
                "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.56",
                "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": "runway/aleph-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "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.56",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.56",
            "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": "1.12",
            "amount_unit": "usd_per_generation",
            "billing_input": false,
            "estimate_only": true,
            "key": "minimum_cents_per_generation",
            "label": "Generation minimum",
            "native_amount_usd_per_unit": "1.12",
            "native_quantity": 1,
            "public_unit_label": "minimum generation charge",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "total",
            "unit": "generation"
          },
          {
            "amount": "0.56",
            "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.56",
            "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": "runway/aleph-2",
        "request_model_id": "runway/aleph-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Runway: Aleph 2.0",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.56,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.56,
      "varies": false
    },
    "short": "Aleph 2.0 modifica video esistenti tramite istruzioni testuali mirate e guida con fotogrammi chiave. Usalo per sostituire un oggetto, cambiare sfondo, abiti, illuminazione o stile, indicando quali dettagli della scena originale devono restare intatti."
  },
  "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": "Aleph 2.0 modifica video esistenti tramite istruzioni testuali mirate e guida con fotogrammi chiave. Usalo per sostituire un oggetto, cambiare sfondo, abiti, illuminazione o stile, indicando quali dettagli della scena originale devono restare intatti.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "397fe642456240f1a98d70e2e81ae1af012d4e652bd92adc43f63b6876b21f64",
    "renderer_sha256": "3be1a96012c3c76b38a7b9bea6a57c0def38c56103737bee6a5e77aaa75e488a"
  },
  "sourceRevision": "ed7d974beacea6e17019546523aee1521642400ebb176ef16931c4333aacc675"
}
