{
  "aboutHtml": "<p>DOP Lite animoi annettuja kuvia Higgsfieldin dokumentoidulla kuvasta videoksi -työnkululla. Tarkka valintatunniste on dop-lite. Käytä dop-lite-tunnistetta ylimmän tason mallivalintana sekä dokumentoidun params-objektin model-arvona. Kuva antaa visuaalisen aineiston, ja liikepohjat sekä kirjalliset ohjeet ohjaavat pyydettyä liikettä ja tehostetta.</p><p>Valmistele viitekuva, jossa tarkoitettu kohde, tärkeät yksityiskohdat ja ympäröivä tila erottuvat selvästi. Opas suosittelee suuritarkkuuksista kuvaa, jotta yksityiskohdat näkyvät paremmin. Valitse tuotekuvaukseen näkymä, josta esineen muoto ja liikkeen aikana tunnistettavina säilyvät pinnat näkyvät. Määritä henkilöä tai ympäristöä varten visuaalinen piirre, jota liikkeen tulee korostaa. Anna todellisen viitekuvan URL-osoite menetelmän esimerkissä käytetyn kuvasyötteen kautta.</p><p>Operaation ohjeissa kuvataan yhden tai kahden liikepohjan käyttö. Kun pohjia annetaan kaksi, opas kuvaa niiden tehosteet yhdistettäviksi. Esiasetusten kuvaukset sisältävät kameran liikkeitä, kohteen pyörimistä ja visuaalisia muunnoksia; esimerkiksi Dolly In kuvaa kameran lähestymistä ja 3D Rotation kohteen tai tuotteen pyörimistä paikallaan. Valitse dokumentoidut pohjatunnisteet, jotka vastaavat haluttua tapahtumakulkua, ja säilytä jokainen tunniste yhdessä sen voimakkuusarvon kanssa.</p><p>Liikkeen voimakkuus on luku väliltä 0–1, ja dokumentoitu oletusarvo on 0.8. Opas kuvaa arvon 0.3 hienovaraiseksi tehosteeksi ja arvon 1 voimakkaaksi liikkeeksi. Valitse voimakkuus sen mukaan, minkä yksityiskohdan tulee pysyä selvästi havaittavana, ja tarkista koko tuotettu toiminta. Liikkeen kuvaus ja voimakkuus palvelevat eri tarkoituksia: pohja valitsee tehosteen ja voimakkuus ohjaa sen intensiteettiä.</p><p>prompt-kentän on kuvauksensa mukaan oltava mukana, mutta tyhjä merkkijono sallitaan. Pohjien ohjaamissa tehosteissa opas suosittelee jättämään kehotteen tyhjäksi; kun tekstiä annetaan, se suosittelee sisällyttämään pohjan kuvauksen, sillä kehote voi muuttaa tulosta huomattavasti. enhance_prompt-asetus ottaa kehotteen optimoinnin käyttöön, ja sen dokumentoitu oletusarvo on true. Säilytä teksti ja tämä asetus yhdessä viitekuvan ja valittujen pohjien kanssa versioita vertaillessasi.</p><p>seed-asetus hyväksyy kokonaisluvun väliltä 1–1000000. Tallenna valittu siemenluku yhdessä generointiasetusten kanssa. Pyyntö sisältää myös kokonaislukutyyppisen seconds-kentän; säilytä käytetty arvo yhdessä tulosvideon kanssa ja tarkasta videon todellinen ajoitus ja rajaus. Totuusarvotyyppinen check_nsfw-asetus ottaa dokumentoidun sisältösuodattimen käyttöön, ja sen oletusarvo on true. Nämä asetukset kuuluvat kuvasta videoksi -pyyntöön, ja niiden tulee pysyä yhdistettyinä täsmälleen valittuun malliin.</p><p>Generointi on asynkronista. Säilytä palautettu tehtävän tunniste seuratessasi määritettyä tila- ja tuloskyselyä. Valmistumisen käsittely lukee valmistuneiden töiden merkinnät ja niiden alkuperäiset tulosten URL-osoitteet. Tallenna jokainen valmistunut videotulos ja säilytä sen työn tunniste yhdessä palautetun URL-osoitteen kanssa. Pidä kaikki valmistuneet merkinnät yhdessä operaation tuloksena.</p><p>Tarkista koko video suhteessa annettuun kuvaan, valittuun tehosteeseen ja kirjallisiin ohjeisiin: kohteen ulkonäkö, liike, rajaus ja loppunäkymä. Määritä korjausta varten konkreettinen visuaalinen yksityiskohta, jota pitää muuttaa, ja säilytä pyynnön onnistuneet osat. Pidä alkuperäinen kuvaviite, tarkka valintatunniste, kehote, liikkeiden tunnisteet, voimakkuudet, siemenluku, pyydetyt asetukset ja valmistuneet tuotokset yhdessä, jotta seuraava vertailu perustuu todelliseen generointiin.</p>",
  "aboutText": "DOP Lite animoi annettuja kuvia Higgsfieldin dokumentoidulla kuvasta videoksi -työnkululla. Tarkka valintatunniste on dop-lite. Käytä dop-lite-tunnistetta ylimmän tason mallivalintana sekä dokumentoidun params-objektin model-arvona. Kuva antaa visuaalisen aineiston, ja liikepohjat sekä kirjalliset ohjeet ohjaavat pyydettyä liikettä ja tehostetta.\n\nValmistele viitekuva, jossa tarkoitettu kohde, tärkeät yksityiskohdat ja ympäröivä tila erottuvat selvästi. Opas suosittelee suuritarkkuuksista kuvaa, jotta yksityiskohdat näkyvät paremmin. Valitse tuotekuvaukseen näkymä, josta esineen muoto ja liikkeen aikana tunnistettavina säilyvät pinnat näkyvät. Määritä henkilöä tai ympäristöä varten visuaalinen piirre, jota liikkeen tulee korostaa. Anna todellisen viitekuvan URL-osoite menetelmän esimerkissä käytetyn kuvasyötteen kautta.\n\nOperaation ohjeissa kuvataan yhden tai kahden liikepohjan käyttö. Kun pohjia annetaan kaksi, opas kuvaa niiden tehosteet yhdistettäviksi. Esiasetusten kuvaukset sisältävät kameran liikkeitä, kohteen pyörimistä ja visuaalisia muunnoksia; esimerkiksi Dolly In kuvaa kameran lähestymistä ja 3D Rotation kohteen tai tuotteen pyörimistä paikallaan. Valitse dokumentoidut pohjatunnisteet, jotka vastaavat haluttua tapahtumakulkua, ja säilytä jokainen tunniste yhdessä sen voimakkuusarvon kanssa.\n\nLiikkeen voimakkuus on luku väliltä 0–1, ja dokumentoitu oletusarvo on 0.8. Opas kuvaa arvon 0.3 hienovaraiseksi tehosteeksi ja arvon 1 voimakkaaksi liikkeeksi. Valitse voimakkuus sen mukaan, minkä yksityiskohdan tulee pysyä selvästi havaittavana, ja tarkista koko tuotettu toiminta. Liikkeen kuvaus ja voimakkuus palvelevat eri tarkoituksia: pohja valitsee tehosteen ja voimakkuus ohjaa sen intensiteettiä.\n\nprompt-kentän on kuvauksensa mukaan oltava mukana, mutta tyhjä merkkijono sallitaan. Pohjien ohjaamissa tehosteissa opas suosittelee jättämään kehotteen tyhjäksi; kun tekstiä annetaan, se suosittelee sisällyttämään pohjan kuvauksen, sillä kehote voi muuttaa tulosta huomattavasti. enhance_prompt-asetus ottaa kehotteen optimoinnin käyttöön, ja sen dokumentoitu oletusarvo on true. Säilytä teksti ja tämä asetus yhdessä viitekuvan ja valittujen pohjien kanssa versioita vertaillessasi.\n\nseed-asetus hyväksyy kokonaisluvun väliltä 1–1000000. Tallenna valittu siemenluku yhdessä generointiasetusten kanssa. Pyyntö sisältää myös kokonaislukutyyppisen seconds-kentän; säilytä käytetty arvo yhdessä tulosvideon kanssa ja tarkasta videon todellinen ajoitus ja rajaus. Totuusarvotyyppinen check_nsfw-asetus ottaa dokumentoidun sisältösuodattimen käyttöön, ja sen oletusarvo on true. Nämä asetukset kuuluvat kuvasta videoksi -pyyntöön, ja niiden tulee pysyä yhdistettyinä täsmälleen valittuun malliin.\n\nGenerointi on asynkronista. Säilytä palautettu tehtävän tunniste seuratessasi määritettyä tila- ja tuloskyselyä. Valmistumisen käsittely lukee valmistuneiden töiden merkinnät ja niiden alkuperäiset tulosten URL-osoitteet. Tallenna jokainen valmistunut videotulos ja säilytä sen työn tunniste yhdessä palautetun URL-osoitteen kanssa. Pidä kaikki valmistuneet merkinnät yhdessä operaation tuloksena.\n\nTarkista koko video suhteessa annettuun kuvaan, valittuun tehosteeseen ja kirjallisiin ohjeisiin: kohteen ulkonäkö, liike, rajaus ja loppunäkymä. Määritä korjausta varten konkreettinen visuaalinen yksityiskohta, jota pitää muuttaa, ja säilytä pyynnön onnistuneet osat. Pidä alkuperäinen kuvaviite, tarkka valintatunniste, kehote, liikkeiden tunnisteet, voimakkuudet, siemenluku, pyydetyt asetukset ja valmistuneet tuotokset yhdessä, jotta seuraava vertailu perustuu todelliseen generointiin.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "0ec2bf11b867ee1d7bc16f22e0eea2e2dc5bfd610ca4b6c5cdcc9aa2ef33b88b",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fi",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Higgsfield: DOP Lite</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sulje\">×</button></div><div class=\"idline\"><span>Higgsfield /</span><code>dop-lite</code><button type=\"button\" id=\"copy-id\">Kopioi ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Mallikortin osiot\"><button type=\"button\" data-card-jump=\"overview\">Aloitus</button><button type=\"button\" data-card-jump=\"methods\">Syötteet &amp; menetelmät</button><button type=\"button\" data-card-jump=\"pricing\">Hinnoittelu</button><button type=\"button\" data-card-jump=\"examples\">Esimerkit</button><button type=\"button\" data-card-jump=\"results\">Tulokset</button><button type=\"button\" data-card-jump=\"aliases\">Aliakset</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-menetelmät\"><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|dop-lite\">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\">Aloitus</h3><p class=\"mdesc-full\">DOP Lite animoi annetun kuvan dokumentoiduilla liikepohjilla, säädettävällä voimakkuudella ja kirjallisilla ohjeilla. Tämä tarkka dop-lite-valintatunniste käyttää kuvasta videoksi -pyyntöä ja palauttaa videon asynkronisen tehtävän kautta.</p><dl class=\"card-io\" data-card-io><div><dt>Hyväksytyt syötteet</dt><dd>Kuvat · Teksti</dd></div><div><dt>Tulokset</dt><dd>Video</dd></div></dl><details class=\"card-about\"><summary>Tietoa mallista</summary><p class=\"note-s\" data-model-method-boundary>Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.</p><div class=\"mabout\" id=\"m-about\"><p>DOP Lite animoi annettuja kuvia Higgsfieldin dokumentoidulla kuvasta videoksi -työnkululla. Tarkka valintatunniste on dop-lite. Käytä dop-lite-tunnistetta ylimmän tason mallivalintana sekä dokumentoidun params-objektin model-arvona. Kuva antaa visuaalisen aineiston, ja liikepohjat sekä kirjalliset ohjeet ohjaavat pyydettyä liikettä ja tehostetta.</p><p>Valmistele viitekuva, jossa tarkoitettu kohde, tärkeät yksityiskohdat ja ympäröivä tila erottuvat selvästi. Opas suosittelee suuritarkkuuksista kuvaa, jotta yksityiskohdat näkyvät paremmin. Valitse tuotekuvaukseen näkymä, josta esineen muoto ja liikkeen aikana tunnistettavina säilyvät pinnat näkyvät. Määritä henkilöä tai ympäristöä varten visuaalinen piirre, jota liikkeen tulee korostaa. Anna todellisen viitekuvan URL-osoite menetelmän esimerkissä käytetyn kuvasyötteen kautta.</p><p>Operaation ohjeissa kuvataan yhden tai kahden liikepohjan käyttö. Kun pohjia annetaan kaksi, opas kuvaa niiden tehosteet yhdistettäviksi. Esiasetusten kuvaukset sisältävät kameran liikkeitä, kohteen pyörimistä ja visuaalisia muunnoksia; esimerkiksi Dolly In kuvaa kameran lähestymistä ja 3D Rotation kohteen tai tuotteen pyörimistä paikallaan. Valitse dokumentoidut pohjatunnisteet, jotka vastaavat haluttua tapahtumakulkua, ja säilytä jokainen tunniste yhdessä sen voimakkuusarvon kanssa.</p><p>Liikkeen voimakkuus on luku väliltä 0–1, ja dokumentoitu oletusarvo on 0.8. Opas kuvaa arvon 0.3 hienovaraiseksi tehosteeksi ja arvon 1 voimakkaaksi liikkeeksi. Valitse voimakkuus sen mukaan, minkä yksityiskohdan tulee pysyä selvästi havaittavana, ja tarkista koko tuotettu toiminta. Liikkeen kuvaus ja voimakkuus palvelevat eri tarkoituksia: pohja valitsee tehosteen ja voimakkuus ohjaa sen intensiteettiä.</p><p>prompt-kentän on kuvauksensa mukaan oltava mukana, mutta tyhjä merkkijono sallitaan. Pohjien ohjaamissa tehosteissa opas suosittelee jättämään kehotteen tyhjäksi; kun tekstiä annetaan, se suosittelee sisällyttämään pohjan kuvauksen, sillä kehote voi muuttaa tulosta huomattavasti. enhance_prompt-asetus ottaa kehotteen optimoinnin käyttöön, ja sen dokumentoitu oletusarvo on true. Säilytä teksti ja tämä asetus yhdessä viitekuvan ja valittujen pohjien kanssa versioita vertaillessasi.</p><p>seed-asetus hyväksyy kokonaisluvun väliltä 1–1000000. Tallenna valittu siemenluku yhdessä generointiasetusten kanssa. Pyyntö sisältää myös kokonaislukutyyppisen seconds-kentän; säilytä käytetty arvo yhdessä tulosvideon kanssa ja tarkasta videon todellinen ajoitus ja rajaus. Totuusarvotyyppinen check_nsfw-asetus ottaa dokumentoidun sisältösuodattimen käyttöön, ja sen oletusarvo on true. Nämä asetukset kuuluvat kuvasta videoksi -pyyntöön, ja niiden tulee pysyä yhdistettyinä täsmälleen valittuun malliin.</p><p>Generointi on asynkronista. Säilytä palautettu tehtävän tunniste seuratessasi määritettyä tila- ja tuloskyselyä. Valmistumisen käsittely lukee valmistuneiden töiden merkinnät ja niiden alkuperäiset tulosten URL-osoitteet. Tallenna jokainen valmistunut videotulos ja säilytä sen työn tunniste yhdessä palautetun URL-osoitteen kanssa. Pidä kaikki valmistuneet merkinnät yhdessä operaation tuloksena.</p><p>Tarkista koko video suhteessa annettuun kuvaan, valittuun tehosteeseen ja kirjallisiin ohjeisiin: kohteen ulkonäkö, liike, rajaus ja loppunäkymä. Määritä korjausta varten konkreettinen visuaalinen yksityiskohta, jota pitää muuttaa, ja säilytä pyynnön onnistuneet osat. Pidä alkuperäinen kuvaviite, tarkka valintatunniste, kehote, liikkeiden tunnisteet, voimakkuudet, siemenluku, pyydetyt asetukset ja valmistuneet tuotokset yhdessä, jotta seuraava vertailu perustuu todelliseen generointiin.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Saatavilla Ailootissa · syötteet &amp; menetelmät</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Videot</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Syötetyypit</dt><dd><code>image</code>, <code>text</code></dd></div><div><dt>Tulostyypit</dt><dd><code>video</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Vaatimus</th><th>Arvot &amp; rajat</th><th>Oletus</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>dop-lite</div><div>Ehdot: Ailoot-mallin valitsin.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>object</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Kuvasta videoksi -parametrit; säilytä tämä pyyntörakenne.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>dop-lite</div><div>Ehdot: Käytä samaa valitsinta kuin ylimmän tason model-kentässä.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.prompt</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Säilytä tämä kenttä mukana; tyhjä merkkijono on dokumentoitu. Kirjoitettu ohjaus vaikuttaa voimakkaasti valittuun liiketehosteeseen.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.seconds</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>integer</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Pyydetty kesto; dokumentoitua vaihteluväliä tai oletusarvoa ei vahvisteta.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.motions</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>array</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Valitse yksi tai kaksi dokumentoitua liikemallia.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.motions[].id</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Liikkeen tunniste dokumentoidussa toimivassa pyyntöesimerkissä.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.motions[].strength</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>number</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Vähimmäismäärä: 0</div><div>Enimmäismäärä: 1</div><div>Ehdot: Liikkeen voimakkuus: 0.3 kuvataan hienovaraiseksi ja 1 voimakkaaksi.</div></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>0,8</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.input_images</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>array</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Viitekuvat toimivassa esimerkissä näytetyn image_url-oliotaulukon avulla.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.input_images[].type</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>image_url</div><div>Ehdot: Viitteen esitysmuoto.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.input_images[].image_url</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Todellinen saavutettavissa olevan viitekuvasi URL-osoite.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.enhance_prompt</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>boolean</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Kehotteen parantaminen.</div></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>true</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.check_nsfw</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>boolean</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Sisällön suodatus.</div></td><td data-cell-label=\"Oletus\" data-default=\"known\"><span class=\"card-cell-label\">Oletus</span>true</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">params.seed</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>integer</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Vähimmäismäärä: 1</div><div>Enimmäismäärä: 1 000 000</div><div>Ehdot: Satunnaissiemen yhtenäisiä tuloksia varten.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">webhook</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>object</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Valinnaiset dokumentoidut webhook-asetukset; käyttäjälle kuuluvien tulosten nouto käyttää Ailoot-tehtäväpolkuja.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">webhook.url</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Vastaanottajasi URL-osoite.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">webhook.secret</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Vastaanottajasi salaisuus.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">callback</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>Ehdot: Valinnainen callback-vastaanottaja; dokumentoitu vastaanottaja vastaa koodilla HTTP 200.</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Syöteaineistojen yhdistelmät</summary><p class=\"note-s\"><b></b></p></details><details class=\"note-s\" data-method-contract><summary>Menetelmän parametrit ja elinkaari</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametri</th><th>Sopimus</th></tr></thead><tbody><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>content_type</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>application/json</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>required</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>model, params</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>optional</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>params.seconds, params.motions, params.input_images, params.enhance_prompt, params.check_nsfw, params.seed, webhook, webhook.url, webhook.secret, callback</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>material_types</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>image, text</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>additional_properties</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>true</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>validation_scope</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>Malli reitittää pyynnön; parametrien kääre noudattaa esitettyä kuvasta videoksi -pyyntöä.</td></tr></tbody></table></div><p>Menetelmien aliakset: <code>/v1/videos/generations</code></p><p>Elinkaari: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">Käytä samaa mallin valitsinta ylimmällä tasolla ja params-rakenteen sisällä.</p><p class=\"note-s\">Luo kerran ja käytä sitten palautettua julkista id-tunnistetta ja polling_url-osoitetta alkuperäisen operaation seuraamiseen.</p><p class=\"note-s\">Nouda jokainen valmistunut käyttäjälle kuuluva video; tarkista tuloksesta todellinen kesto ja mitat.</p><p class=\"note-s\">Korvaa esimerkin YOUR_ACCESSIBLE_IMAGE_URL todellisella viitekuvasi URL-osoitteella.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Hinnoittelu</h3><div class=\"card-result-process\" data-billing-basis><h5>Lopullisen veloituksen laskenta</h5><p class=\"note-s\">Näytettyjen hintojen avulla arvioidaan kustannukset ennen generointia. Lopullinen veloitus lasketaan alkuperäiselle generoinnille kirjatun kustannuksen perusteella. Lopullisena laskutettavana määränä ei käytetä tulosteen mitattua kestoa eikä ennustettuja määriä.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.</p><dl data-price-conditions><dt>Nopea tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun nopea tila on valittu</span></dd><dt>Flex-tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun flex-tila on valittu</span></dd><dt>Päättelyn enimmäisteho</dt><dd>Ei määritetty <span class=\"note-s\">Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä</span></dd></dl></div><div data-declared-tariff-pricing><h4>Arvioidut vertailuhinnat</h4><h4>Hinnat asetusten mukaan</h4><p class=\"note-s\">Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Asetukset</th><th>Hinnasto</th><th>Ennustettu määrä</th><th>Veloitus</th></tr></thead><tbody><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>Tokenien perushinnat</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>Perushinta</td><td data-cell-label=\"Ennustettu määrä\"><span class=\"card-cell-label\">Ennustettu määrä</span>—</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · Syötetokenit · Arvio vain vertailua varten</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Tuloste · Tulostokenit · Arvio vain vertailua varten</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistin luku · Arvio vain vertailua varten</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus · Arvio vain vertailua varten</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus, 1 tunti · Arvio vain vertailua varten</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div></td></tr><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>Arvioitu luontikustannus</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>—</td><td data-cell-label=\"Ennustettu määrä\"><span class=\"card-cell-label\">Ennustettu määrä</span>yhden generoinnin arvio</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Tuloste · Arvioidut generointikustannukset · Arvio vain vertailua varten</span> <b>$1.24</b> <span class=\"price-unit\">arvio ennen generointia</span></div><p class=\"note-s\">Tämä arvio ei ole lisämaksu eikä valmistuneen generoinnin kiinteä hinta.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. <a href=\"/docs/fi/billing/reserve/\">Varauksen ja lopullisen veloituksen toiminta →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esimerkkipyynnöt</h3><h4>Ailoot Ultra · Videot</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Koodivaihtoehdot\"><button class=\"cg-tab\" id=\"model-code-2783-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2783-panel-0\" aria-selected=\"true\" tabindex=\"0\">JSON · luo video</button><button class=\"cg-tab\" id=\"model-code-2783-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2783-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · lue alkuperäinen tehtävä</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopioi koodi\"><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-2783-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2783-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;dop-lite&quot;,\n  &quot;params&quot;: {\n    &quot;model&quot;: &quot;dop-lite&quot;,\n    &quot;prompt&quot;: &quot;a cat&quot;,\n    &quot;seed&quot;: 500000,\n    &quot;motions&quot;: [\n      {\n        &quot;id&quot;: &quot;2bae49e6-ffe7-42a8-a73f-d44632c4acaa&quot;,\n        &quot;strength&quot;: 0.5\n      }\n    ],\n    &quot;input_images&quot;: [\n      {\n        &quot;type&quot;: &quot;image_url&quot;,\n        &quot;image_url&quot;: &quot;YOUR_ACCESSIBLE_IMAGE_URL&quot;\n      }\n    ],\n    &quot;enhance_prompt&quot;: true,\n    &quot;check_nsfw&quot;: true\n  }\n}</code></pre></div><div class=\"cg-pane\" id=\"model-code-2783-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2783-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_POLL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote,urljoin,urlsplit\nr=json.loads(Path(&quot;result.json&quot;).read_text())\ni=r.get(&quot;id&quot;)\nif not isinstance(i,str) or not i:raise SystemExit(&quot;Keep original response/headers/id; do not resubmit creation.&quot;)\nu=urljoin(&quot;https://api.ailoot.ai&quot;,r.get(&quot;polling_url&quot;) or &quot;/v1/videos/&quot;+quote(i,safe=&quot;&quot;))\np=urlsplit(u)\nif p.scheme!=&quot;https&quot; or p.netloc!=&quot;api.ailoot.ai&quot; or not p.path.startswith(&quot;/v1/videos/&quot;):raise SystemExit(&quot;Use the actual Ailoot lookup path.&quot;)\nPath(&quot;poll-url.txt&quot;).write_text(u)\nPY_POLL\ncurl --fail-with-body --silent --show-error &quot;$(cat poll-url.txt)&quot; -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Vastaanota ja tallenna tulokset</h3><h4>Ailoot Ultra · Videot</h4><p class=\"note-s\">Säilytä palautetut työt ja niiden tilat. Lue jokainen valmistunut käyttäjälle kuuluva videotulos.</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Säilytä kaikki valmistuneet tulokset</h5><p class=\"note-s\">Tallenna jokainen valmistunut video tai palautettu tiedosto; nouda jokainen todellinen palautettu aineiston URL.</p><p class=\"note-s\">Nouda jokainen todellinen valmistunut tulos; älä oleta kiinteää lukumäärää.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jos alkuperäinen vastaus on tarkistettava</h5><p class=\"note-s\">Säilytä alkuperäinen vastaus ja palautettu tehtävätunniste; tuntematon tila tai epäselvä lähetys ei oikeuta uuteen luontipyyntöön.</p></div><details class=\"card-about\" data-output-fields><summary>Vastauksen kentät</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Merkitys</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Julkinen Ailoot-tehtävän tai -operaation tunniste.</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">provider_task_id</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Alkuperäinen tehtävätunniste, joka on erillinen julkisesta id-tunnisteesta.</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">polling_url</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Palautettu Ailoot-hakupolku.</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">jobs[].id</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Todellinen palautettu työn tunniste.</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">jobs[].status</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Kunkin palautetun työn tila.</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">jobs[].results.raw.url</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Jokainen valmistunut video on saatavilla Ailoot-palvelun hallinnoiman allekirjoitetun URL-osoitteen kautta.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Virheet ja seuraavat vaiheet</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Vastaus</th><th>Ehto</th><th>Seuraava vaihe</th></tr></thead><tbody><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Virheellinen JSON/model tai virheellinen sisältöindeksi.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span></td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Virheellinen Ailoot API -avain.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span></td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>403 · <code>permission_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>API-avaimen ryhmällä ei ole käyttöoikeutta tähän mediareittiin.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span></td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Alkuperäinen tehtävä tai pyydetty tulos puuttuu tai ei kuulu samalle käyttäjälle/API-avaimelle/ryhmälle.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span></td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>502 · <code>result_pending_check</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Alkuperäinen lähetys tai tilatieto on puutteellinen tai sitä ei voida täsmäyttää; säilytä alkuperäinen tunniste äläkä lähetä pyyntöä uudelleen.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span></td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Alkuperäistä sidontaa, reittiä tai käyttäjälle kuuluvaa mediaa tarkistetaan edelleen; jatka saman alkuperäisen operaation tarkistamista.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span></td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>503 · <code>server_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Mediapalvelu tai alkuperäisen tehtävän tallennustila ei ole saatavilla.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliakset</h3><h4>Mallin aliakset</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=dop-lite&amp;route=Ultra&amp;caller=dop-lite&amp;fmt=videos\"><code>dop-lite</code></a></span></p><h4>Menetelmäpolkujen aliakset</h4><p class=\"note-s\"><code>/v1/videos/generations</code></p><h4>Liittyvät kutsujan ID:t</h4><p class=\"note-s\"><a href=\"#m=dop-lite&amp;route=Ultra&amp;caller=dop-lite&amp;fmt=videos\"><code>dop-lite</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "dop-lite",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "dop-lite",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|dop-lite",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Näytettyjen hintojen avulla arvioidaan kustannukset ennen generointia. Lopullinen veloitus lasketaan alkuperäiselle generoinnille kirjatun kustannuksen perusteella. Lopullisena laskutettavana määränä ei käytetä tulosteen mitattua kestoa eikä ennustettuja määriä.",
          "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": {
            "errors": [
              {
                "condition": "Virheellinen JSON/model tai virheellinen sisältöindeksi.",
                "http_status": 400,
                "type": "invalid_request_error"
              },
              {
                "condition": "Virheellinen Ailoot API -avain.",
                "http_status": 401,
                "type": "authentication_error"
              },
              {
                "condition": "API-avaimen ryhmällä ei ole käyttöoikeutta tähän mediareittiin.",
                "http_status": 403,
                "type": "permission_error"
              },
              {
                "condition": "Alkuperäinen tehtävä tai pyydetty tulos puuttuu tai ei kuulu samalle käyttäjälle/API-avaimelle/ryhmälle.",
                "http_status": 404,
                "type": "not_found_error"
              },
              {
                "condition": "Alkuperäinen lähetys tai tilatieto on puutteellinen tai sitä ei voida täsmäyttää; säilytä alkuperäinen tunniste äläkä lähetä pyyntöä uudelleen.",
                "http_status": 502,
                "type": "result_pending_check"
              },
              {
                "condition": "Alkuperäistä sidontaa, reittiä tai käyttäjälle kuuluvaa mediaa tarkistetaan edelleen; jatka saman alkuperäisen operaation tarkistamista.",
                "http_status": 503,
                "type": "result_pending_check"
              },
              {
                "condition": "Mediapalvelu tai alkuperäisen tehtävän tallennustila ei ole saatavilla.",
                "http_status": 503,
                "type": "server_error"
              }
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "completed_states": [
                "completed"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "content_pending": "Original status JSON until publication.",
              "content_ready": {
                "http_status": 303,
                "location": "actual signed Ailoot-owned asset URL"
              },
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [],
              "mode": "submit_once_poll_original",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "pending_states": [
                "queued"
              ],
              "signed_asset_lifetime_seconds": 86400,
              "state_field": "jobs[].status",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 200,
              "unknown": "Säilytä alkuperäinen vastaus ja palautettu tehtävätunniste; tuntematon tila tai epäselvä lähetys ei oikeuta uuteen luontipyyntöön.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              [
                "image",
                "text"
              ]
            ],
            "operation_modes": [
              "image_to_video"
            ],
            "outputs": {
              "all_results": "Nouda jokainen todellinen valmistunut tulos; älä oleta kiinteää lukumäärää.",
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "description": "Julkinen Ailoot-tehtävän tai -operaation tunniste.",
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": "Alkuperäinen tehtävätunniste, joka on erillinen julkisesta id-tunnisteesta.",
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "description": "Palautettu Ailoot-hakupolku.",
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "description": "Todellinen palautettu työn tunniste.",
                  "name": "jobs[].id",
                  "type": "string"
                },
                {
                  "description": "Kunkin palautetun työn tila.",
                  "name": "jobs[].status",
                  "type": "string"
                },
                {
                  "description": "Jokainen valmistunut video on saatavilla Ailoot-palvelun hallinnoiman allekirjoitetun URL-osoitteen kautta.",
                  "name": "jobs[].results.raw.url",
                  "type": "string"
                }
              ],
              "format": null,
              "maximum_outputs": null,
              "ownership": "Selected outputs are copied and verified before owned publication.",
              "result": "Säilytä palautetut työt ja niiden tilat. Lue jokainen valmistunut käyttäjälle kuuluva videotulos."
            },
            "parameters": [
              {
                "availability": "source_interface",
                "conditions": "Ailoot-mallin valitsin.",
                "default": null,
                "default_known": false,
                "enum": [
                  "dop-lite"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Kuvasta videoksi -parametrit; säilytä tämä pyyntörakenne.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "conditions": "Käytä samaa valitsinta kuin ylimmän tason model-kentässä.",
                "default": null,
                "default_known": false,
                "enum": [
                  "dop-lite"
                ],
                "enum_known": true,
                "name": "params.model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Säilytä tämä kenttä mukana; tyhjä merkkijono on dokumentoitu. Kirjoitettu ohjaus vaikuttaa voimakkaasti valittuun liiketehosteeseen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.prompt",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Pyydetty kesto; dokumentoitua vaihteluväliä tai oletusarvoa ei vahvisteta.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.seconds",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "Valitse yksi tai kaksi dokumentoitua liikemallia.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 2,
                "minItems": 1,
                "name": "params.motions",
                "required": false,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Liikkeen tunniste dokumentoidussa toimivassa pyyntöesimerkissä.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.motions[].id",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Liikkeen voimakkuus: 0.3 kuvataan hienovaraiseksi ja 1 voimakkaaksi.",
                "default": 0.8,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 1,
                "minimum": 0,
                "name": "params.motions[].strength",
                "required": true,
                "type": "number"
              },
              {
                "availability": "source_interface",
                "conditions": "Viitekuvat toimivassa esimerkissä näytetyn image_url-oliotaulukon avulla.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.input_images",
                "required": false,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Viitteen esitysmuoto.",
                "default": null,
                "default_known": false,
                "enum": [
                  "image_url"
                ],
                "enum_known": true,
                "name": "params.input_images[].type",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Todellinen saavutettavissa olevan viitekuvasi URL-osoite.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.input_images[].image_url",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Kehotteen parantaminen.",
                "default": true,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "params.enhance_prompt",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Sisällön suodatus.",
                "default": true,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "params.check_nsfw",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Satunnaissiemen yhtenäisiä tuloksia varten.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 1000000,
                "minimum": 1,
                "name": "params.seed",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "Valinnaiset dokumentoidut webhook-asetukset; käyttäjälle kuuluvien tulosten nouto käyttää Ailoot-tehtäväpolkuja.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "webhook",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "conditions": "Vastaanottajasi URL-osoite.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "webhook.url",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Vastaanottajasi salaisuus.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "webhook.secret",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Valinnainen callback-vastaanottaja; dokumentoitu vastaanottaja vastaa koodilla HTTP 200.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "callback": {
                  "type": "string"
                },
                "model": {
                  "const": "dop-lite",
                  "type": "string"
                },
                "params": {
                  "additionalProperties": true,
                  "properties": {
                    "check_nsfw": {
                      "default": true,
                      "type": "boolean"
                    },
                    "enhance_prompt": {
                      "default": true,
                      "type": "boolean"
                    },
                    "input_images": {
                      "items": {
                        "properties": {
                          "image_url": {
                            "type": "string"
                          },
                          "type": {
                            "const": "image_url",
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "model": {
                      "const": "dop-lite",
                      "type": "string"
                    },
                    "motions": {
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "strength": {
                            "default": 0.8,
                            "maximum": 1,
                            "minimum": 0,
                            "type": "number"
                          }
                        },
                        "required": [
                          "id",
                          "strength"
                        ],
                        "type": "object"
                      },
                      "maxItems": 2,
                      "minItems": 1,
                      "type": "array"
                    },
                    "prompt": {
                      "type": "string"
                    },
                    "seconds": {
                      "type": "integer"
                    },
                    "seed": {
                      "maximum": 1000000,
                      "minimum": 1,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "model",
                    "prompt"
                  ],
                  "type": "object"
                },
                "webhook": {
                  "properties": {
                    "secret": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "params"
              ],
              "type": "object"
            },
            "source_ambiguities": [
              {
                "field": "params.motions[].id",
                "meaning": "The demonstrated request uses id; the generated schema names motion_id. This card follows the working example."
              },
              {
                "field": "params.input_images",
                "meaning": "The demonstrated request uses an array of image_url objects; the generated schema shows a different object shape. This card follows the working example."
              }
            ],
            "unsupported": []
          },
          "hints": [
            "Käytä samaa mallin valitsinta ylimmällä tasolla ja params-rakenteen sisällä.",
            "Luo kerran ja käytä sitten palautettua julkista id-tunnistetta ja polling_url-osoitetta alkuperäisen operaation seuraamiseen.",
            "Nouda jokainen valmistunut käyttäjälle kuuluva video; tarkista tuloksesta todellinen kesto ja mitat.",
            "Korvaa esimerkin YOUR_ACCESSIBLE_IMAGE_URL todellisella viitekuvasi URL-osoitteella."
          ],
          "input": {
            "additional_properties": true,
            "content_type": "application/json",
            "material_types": [
              "image",
              "text"
            ],
            "optional": [
              "params.seconds",
              "params.motions",
              "params.input_images",
              "params.enhance_prompt",
              "params.check_nsfw",
              "params.seed",
              "webhook",
              "webhook.url",
              "webhook.secret",
              "callback"
            ],
            "required": [
              "model",
              "params"
            ],
            "validation_scope": "Malli reitittää pyynnön; parametrien kääre noudattaa esitettyä kuvasta videoksi -pyyntöä."
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "completed_states": [
              "completed"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "content_pending": "Original status JSON until publication.",
            "content_ready": {
              "http_status": 303,
              "location": "actual signed Ailoot-owned asset URL"
            },
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [],
            "mode": "submit_once_poll_original",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "pending_states": [
              "queued"
            ],
            "signed_asset_lifetime_seconds": 86400,
            "state_field": "jobs[].status",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 200,
            "unknown": "Keep the original response and returned task identity; an unrecognized state or ambiguous send does not authorize a new creation.",
            "unknown_no_replay": true
          },
          "manufacturer_capability": {
            "documented_material_types": [
              "image",
              "text"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations"
          ],
          "operation_modes": [
            "image_to_video"
          ],
          "output": {
            "all_results": "Fetch every actual completed output; do not assume a fixed count.",
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "description": "Public Ailoot task or operation identifier.",
                "name": "id",
                "type": "string"
              },
              {
                "description": "Original task identifier, separate from the public id.",
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "description": "Returned Ailoot lookup path.",
                "name": "polling_url",
                "type": "string"
              },
              {
                "description": "Actual returned job identifier.",
                "name": "jobs[].id",
                "type": "string"
              },
              {
                "description": "State of each returned job.",
                "name": "jobs[].status",
                "type": "string"
              },
              {
                "description": "Each completed video is exposed through an Ailoot-owned signed URL.",
                "name": "jobs[].results.raw.url",
                "type": "string"
              }
            ],
            "format": null,
            "maximum_outputs": null,
            "ownership": "Selected outputs are copied and verified before owned publication.",
            "result": "Keep the returned jobs and their states. Read every completed owned video result."
          }
        },
        "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"
              }
            ]
          },
          {
            "basis": "Tämä arvio ei ole lisämaksu eikä valmistuneen generoinnin kiinteä hinta.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Arvioitu luontikustannus",
            "units": [
              {
                "amount": "1.24",
                "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": "1.24",
                "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": "{\n  \"model\": \"dop-lite\",\n  \"params\": {\n    \"model\": \"dop-lite\",\n    \"prompt\": \"a cat\",\n    \"seed\": 500000,\n    \"motions\": [\n      {\n        \"id\": \"2bae49e6-ffe7-42a8-a73f-d44632c4acaa\",\n        \"strength\": 0.5\n      }\n    ],\n    \"input_images\": [\n      {\n        \"type\": \"image_url\",\n        \"image_url\": \"YOUR_ACCESSIBLE_IMAGE_URL\"\n      }\n    ],\n    \"enhance_prompt\": true,\n    \"check_nsfw\": true\n  }\n}",
            "label": "JSON · create video",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_POLL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote,urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\ni=r.get(\"id\")\nif not isinstance(i,str) or not i:raise SystemExit(\"Keep original response/headers/id; do not resubmit creation.\")\nu=urljoin(\"https://api.ailoot.ai\",r.get(\"polling_url\") or \"/v1/videos/\"+quote(i,safe=\"\"))\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/videos/\"):raise SystemExit(\"Use the actual Ailoot lookup path.\")\nPath(\"poll-url.txt\").write_text(u)\nPY_POLL\ncurl --fail-with-body --silent --show-error \"$(cat poll-url.txt)\" -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\n",
            "label": "curl · read original task",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the same model selector at the top level and inside params.",
          "Create once, then use the returned public id and polling_url for the original operation.",
          "Retrieve every completed owned video; inspect actual duration and dimensions in the result.",
          "Replace YOUR_ACCESSIBLE_IMAGE_URL in the example with your actual reference image URL."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "image",
          "text"
        ],
        "label": "Videot",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations"
        ],
        "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"
              }
            ]
          },
          {
            "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": "1.24",
                "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": "1.24",
                "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": "dop-lite",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "1.24",
            "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": "1.24",
            "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": "dop-lite",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "673ea7fef46f6ebfdff6e91d352fbc1d27fc74c4ab19644d24371265dafd5ec6",
    "input_html_sha256": "21668c2dd681d835d4db177318b605d5229e7bc445e353fa65c7b58a55d3578d",
    "private_audit_sha256": "aea0e551f5392a2666d5b9487f3b85cd6da0643f5a428389af880feb82fe1c2f",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fi/dop-lite/",
    "description": "DOP Lite animoi annetun kuvan dokumentoiduilla liikepohjilla, säädettävällä voimakkuudella ja kirjallisilla ohjeilla. Tämä tarkka dop-lite-valintatunniste käyttää kuvasta videoksi -pyyntöä ja palauttaa videon asynkronisen tehtävän kautta.",
    "locale": "fi",
    "md_url": "https://ailoot.ai/models/fi/dop-lite/index.md",
    "title": "Higgsfield: DOP Lite — Ailoot",
    "url": "https://ailoot.ai/models/fi/dop-lite/"
  },
  "rawModel": {
    "about": "DOP Lite animoi annettuja kuvia Higgsfieldin dokumentoidulla kuvasta videoksi -työnkululla. Tarkka valintatunniste on dop-lite. Käytä dop-lite-tunnistetta ylimmän tason mallivalintana sekä dokumentoidun params-objektin model-arvona. Kuva antaa visuaalisen aineiston, ja liikepohjat sekä kirjalliset ohjeet ohjaavat pyydettyä liikettä ja tehostetta.\n\nValmistele viitekuva, jossa tarkoitettu kohde, tärkeät yksityiskohdat ja ympäröivä tila erottuvat selvästi. Opas suosittelee suuritarkkuuksista kuvaa, jotta yksityiskohdat näkyvät paremmin. Valitse tuotekuvaukseen näkymä, josta esineen muoto ja liikkeen aikana tunnistettavina säilyvät pinnat näkyvät. Määritä henkilöä tai ympäristöä varten visuaalinen piirre, jota liikkeen tulee korostaa. Anna todellisen viitekuvan URL-osoite menetelmän esimerkissä käytetyn kuvasyötteen kautta.\n\nOperaation ohjeissa kuvataan yhden tai kahden liikepohjan käyttö. Kun pohjia annetaan kaksi, opas kuvaa niiden tehosteet yhdistettäviksi. Esiasetusten kuvaukset sisältävät kameran liikkeitä, kohteen pyörimistä ja visuaalisia muunnoksia; esimerkiksi Dolly In kuvaa kameran lähestymistä ja 3D Rotation kohteen tai tuotteen pyörimistä paikallaan. Valitse dokumentoidut pohjatunnisteet, jotka vastaavat haluttua tapahtumakulkua, ja säilytä jokainen tunniste yhdessä sen voimakkuusarvon kanssa.\n\nLiikkeen voimakkuus on luku väliltä 0–1, ja dokumentoitu oletusarvo on 0.8. Opas kuvaa arvon 0.3 hienovaraiseksi tehosteeksi ja arvon 1 voimakkaaksi liikkeeksi. Valitse voimakkuus sen mukaan, minkä yksityiskohdan tulee pysyä selvästi havaittavana, ja tarkista koko tuotettu toiminta. Liikkeen kuvaus ja voimakkuus palvelevat eri tarkoituksia: pohja valitsee tehosteen ja voimakkuus ohjaa sen intensiteettiä.\n\nprompt-kentän on kuvauksensa mukaan oltava mukana, mutta tyhjä merkkijono sallitaan. Pohjien ohjaamissa tehosteissa opas suosittelee jättämään kehotteen tyhjäksi; kun tekstiä annetaan, se suosittelee sisällyttämään pohjan kuvauksen, sillä kehote voi muuttaa tulosta huomattavasti. enhance_prompt-asetus ottaa kehotteen optimoinnin käyttöön, ja sen dokumentoitu oletusarvo on true. Säilytä teksti ja tämä asetus yhdessä viitekuvan ja valittujen pohjien kanssa versioita vertaillessasi.\n\nseed-asetus hyväksyy kokonaisluvun väliltä 1–1000000. Tallenna valittu siemenluku yhdessä generointiasetusten kanssa. Pyyntö sisältää myös kokonaislukutyyppisen seconds-kentän; säilytä käytetty arvo yhdessä tulosvideon kanssa ja tarkasta videon todellinen ajoitus ja rajaus. Totuusarvotyyppinen check_nsfw-asetus ottaa dokumentoidun sisältösuodattimen käyttöön, ja sen oletusarvo on true. Nämä asetukset kuuluvat kuvasta videoksi -pyyntöön, ja niiden tulee pysyä yhdistettyinä täsmälleen valittuun malliin.\n\nGenerointi on asynkronista. Säilytä palautettu tehtävän tunniste seuratessasi määritettyä tila- ja tuloskyselyä. Valmistumisen käsittely lukee valmistuneiden töiden merkinnät ja niiden alkuperäiset tulosten URL-osoitteet. Tallenna jokainen valmistunut videotulos ja säilytä sen työn tunniste yhdessä palautetun URL-osoitteen kanssa. Pidä kaikki valmistuneet merkinnät yhdessä operaation tuloksena.\n\nTarkista koko video suhteessa annettuun kuvaan, valittuun tehosteeseen ja kirjallisiin ohjeisiin: kohteen ulkonäkö, liike, rajaus ja loppunäkymä. Määritä korjausta varten konkreettinen visuaalinen yksityiskohta, jota pitää muuttaa, ja säilytä pyynnön onnistuneet osat. Pidä alkuperäinen kuvaviite, tarkka valintatunniste, kehote, liikkeiden tunnisteet, voimakkuudet, siemenluku, pyydetyt asetukset ja valmistuneet tuotokset yhdessä, jotta seuraava vertailu perustuu todelliseen generointiin.",
    "alias_of": null,
    "aliases": [],
    "author": "Higgsfield",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "image",
        "text"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "1.24",
            "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": "1.24",
            "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": "Konfiguraation täydet hintatiedot lisätiedoissa."
      }
    ],
    "ctx": null,
    "formats": [
      "videos"
    ],
    "id": "dop-lite",
    "input": [
      "image",
      "text"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Näytettyjen hintojen avulla arvioidaan kustannukset ennen generointia. Lopullinen veloitus lasketaan alkuperäiselle generoinnille kirjatun kustannuksen perusteella. Lopullisena laskutettavana määränä ei käytetä tulosteen mitattua kestoa eikä ennustettuja määriä.",
          "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": {
            "errors": [
              {
                "condition": "Virheellinen JSON/model tai virheellinen sisältöindeksi.",
                "http_status": 400,
                "type": "invalid_request_error"
              },
              {
                "condition": "Virheellinen Ailoot API -avain.",
                "http_status": 401,
                "type": "authentication_error"
              },
              {
                "condition": "API-avaimen ryhmällä ei ole käyttöoikeutta tähän mediareittiin.",
                "http_status": 403,
                "type": "permission_error"
              },
              {
                "condition": "Alkuperäinen tehtävä tai pyydetty tulos puuttuu tai ei kuulu samalle käyttäjälle/API-avaimelle/ryhmälle.",
                "http_status": 404,
                "type": "not_found_error"
              },
              {
                "condition": "Alkuperäinen lähetys tai tilatieto on puutteellinen tai sitä ei voida täsmäyttää; säilytä alkuperäinen tunniste äläkä lähetä pyyntöä uudelleen.",
                "http_status": 502,
                "type": "result_pending_check"
              },
              {
                "condition": "Alkuperäistä sidontaa, reittiä tai käyttäjälle kuuluvaa mediaa tarkistetaan edelleen; jatka saman alkuperäisen operaation tarkistamista.",
                "http_status": 503,
                "type": "result_pending_check"
              },
              {
                "condition": "Mediapalvelu tai alkuperäisen tehtävän tallennustila ei ole saatavilla.",
                "http_status": 503,
                "type": "server_error"
              }
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "completed_states": [
                "completed"
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content",
                  "query": {
                    "index": "actual output index; default 0"
                  }
                }
              ],
              "content_pending": "Original status JSON until publication.",
              "content_ready": {
                "http_status": 303,
                "location": "actual signed Ailoot-owned asset URL"
              },
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "failed_states": [],
              "mode": "submit_once_poll_original",
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "pending_states": [
                "queued"
              ],
              "signed_asset_lifetime_seconds": 86400,
              "state_field": "jobs[].status",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 200,
              "unknown": "Säilytä alkuperäinen vastaus ja palautettu tehtävätunniste; tuntematon tila tai epäselvä lähetys ei oikeuta uuteen luontipyyntöön.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              [
                "image",
                "text"
              ]
            ],
            "operation_modes": [
              "image_to_video"
            ],
            "outputs": {
              "all_results": "Nouda jokainen todellinen valmistunut tulos; älä oleta kiinteää lukumäärää.",
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "description": "Julkinen Ailoot-tehtävän tai -operaation tunniste.",
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": "Alkuperäinen tehtävätunniste, joka on erillinen julkisesta id-tunnisteesta.",
                  "name": "provider_task_id",
                  "type": "string"
                },
                {
                  "description": "Palautettu Ailoot-hakupolku.",
                  "name": "polling_url",
                  "type": "string"
                },
                {
                  "description": "Todellinen palautettu työn tunniste.",
                  "name": "jobs[].id",
                  "type": "string"
                },
                {
                  "description": "Kunkin palautetun työn tila.",
                  "name": "jobs[].status",
                  "type": "string"
                },
                {
                  "description": "Jokainen valmistunut video on saatavilla Ailoot-palvelun hallinnoiman allekirjoitetun URL-osoitteen kautta.",
                  "name": "jobs[].results.raw.url",
                  "type": "string"
                }
              ],
              "format": null,
              "maximum_outputs": null,
              "ownership": "Selected outputs are copied and verified before owned publication.",
              "result": "Säilytä palautetut työt ja niiden tilat. Lue jokainen valmistunut käyttäjälle kuuluva videotulos."
            },
            "parameters": [
              {
                "availability": "source_interface",
                "conditions": "Ailoot-mallin valitsin.",
                "default": null,
                "default_known": false,
                "enum": [
                  "dop-lite"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Kuvasta videoksi -parametrit; säilytä tämä pyyntörakenne.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "conditions": "Käytä samaa valitsinta kuin ylimmän tason model-kentässä.",
                "default": null,
                "default_known": false,
                "enum": [
                  "dop-lite"
                ],
                "enum_known": true,
                "name": "params.model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Säilytä tämä kenttä mukana; tyhjä merkkijono on dokumentoitu. Kirjoitettu ohjaus vaikuttaa voimakkaasti valittuun liiketehosteeseen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.prompt",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Pyydetty kesto; dokumentoitua vaihteluväliä tai oletusarvoa ei vahvisteta.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.seconds",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "Valitse yksi tai kaksi dokumentoitua liikemallia.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 2,
                "minItems": 1,
                "name": "params.motions",
                "required": false,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Liikkeen tunniste dokumentoidussa toimivassa pyyntöesimerkissä.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.motions[].id",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Liikkeen voimakkuus: 0.3 kuvataan hienovaraiseksi ja 1 voimakkaaksi.",
                "default": 0.8,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "maximum": 1,
                "minimum": 0,
                "name": "params.motions[].strength",
                "required": true,
                "type": "number"
              },
              {
                "availability": "source_interface",
                "conditions": "Viitekuvat toimivassa esimerkissä näytetyn image_url-oliotaulukon avulla.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.input_images",
                "required": false,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Viitteen esitysmuoto.",
                "default": null,
                "default_known": false,
                "enum": [
                  "image_url"
                ],
                "enum_known": true,
                "name": "params.input_images[].type",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Todellinen saavutettavissa olevan viitekuvasi URL-osoite.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "params.input_images[].image_url",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Kehotteen parantaminen.",
                "default": true,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "params.enhance_prompt",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Sisällön suodatus.",
                "default": true,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "params.check_nsfw",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Satunnaissiemen yhtenäisiä tuloksia varten.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 1000000,
                "minimum": 1,
                "name": "params.seed",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "conditions": "Valinnaiset dokumentoidut webhook-asetukset; käyttäjälle kuuluvien tulosten nouto käyttää Ailoot-tehtäväpolkuja.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "webhook",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "conditions": "Vastaanottajasi URL-osoite.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "webhook.url",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Vastaanottajasi salaisuus.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "webhook.secret",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Valinnainen callback-vastaanottaja; dokumentoitu vastaanottaja vastaa koodilla HTTP 200.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "callback": {
                  "type": "string"
                },
                "model": {
                  "const": "dop-lite",
                  "type": "string"
                },
                "params": {
                  "additionalProperties": true,
                  "properties": {
                    "check_nsfw": {
                      "default": true,
                      "type": "boolean"
                    },
                    "enhance_prompt": {
                      "default": true,
                      "type": "boolean"
                    },
                    "input_images": {
                      "items": {
                        "properties": {
                          "image_url": {
                            "type": "string"
                          },
                          "type": {
                            "const": "image_url",
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "model": {
                      "const": "dop-lite",
                      "type": "string"
                    },
                    "motions": {
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "strength": {
                            "default": 0.8,
                            "maximum": 1,
                            "minimum": 0,
                            "type": "number"
                          }
                        },
                        "required": [
                          "id",
                          "strength"
                        ],
                        "type": "object"
                      },
                      "maxItems": 2,
                      "minItems": 1,
                      "type": "array"
                    },
                    "prompt": {
                      "type": "string"
                    },
                    "seconds": {
                      "type": "integer"
                    },
                    "seed": {
                      "maximum": 1000000,
                      "minimum": 1,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "model",
                    "prompt"
                  ],
                  "type": "object"
                },
                "webhook": {
                  "properties": {
                    "secret": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "params"
              ],
              "type": "object"
            },
            "source_ambiguities": [
              {
                "field": "params.motions[].id",
                "meaning": "The demonstrated request uses id; the generated schema names motion_id. This card follows the working example."
              },
              {
                "field": "params.input_images",
                "meaning": "The demonstrated request uses an array of image_url objects; the generated schema shows a different object shape. This card follows the working example."
              }
            ],
            "unsupported": []
          },
          "hints": [
            "Käytä samaa mallin valitsinta ylimmällä tasolla ja params-rakenteen sisällä.",
            "Luo kerran ja käytä sitten palautettua julkista id-tunnistetta ja polling_url-osoitetta alkuperäisen operaation seuraamiseen.",
            "Nouda jokainen valmistunut käyttäjälle kuuluva video; tarkista tuloksesta todellinen kesto ja mitat.",
            "Korvaa esimerkin YOUR_ACCESSIBLE_IMAGE_URL todellisella viitekuvasi URL-osoitteella."
          ],
          "input": {
            "additional_properties": true,
            "content_type": "application/json",
            "material_types": [
              "image",
              "text"
            ],
            "optional": [
              "params.seconds",
              "params.motions",
              "params.input_images",
              "params.enhance_prompt",
              "params.check_nsfw",
              "params.seed",
              "webhook",
              "webhook.url",
              "webhook.secret",
              "callback"
            ],
            "required": [
              "model",
              "params"
            ],
            "validation_scope": "Malli reitittää pyynnön; parametrien kääre noudattaa esitettyä kuvasta videoksi -pyyntöä."
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "completed_states": [
              "completed"
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content",
                "query": {
                  "index": "actual output index; default 0"
                }
              }
            ],
            "content_pending": "Original status JSON until publication.",
            "content_ready": {
              "http_status": 303,
              "location": "actual signed Ailoot-owned asset URL"
            },
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "failed_states": [],
            "mode": "submit_once_poll_original",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "pending_states": [
              "queued"
            ],
            "signed_asset_lifetime_seconds": 86400,
            "state_field": "jobs[].status",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 200,
            "unknown": "Keep the original response and returned task identity; an unrecognized state or ambiguous send does not authorize a new creation.",
            "unknown_no_replay": true
          },
          "manufacturer_capability": {
            "documented_material_types": [
              "image",
              "text"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations"
          ],
          "operation_modes": [
            "image_to_video"
          ],
          "output": {
            "all_results": "Fetch every actual completed output; do not assume a fixed count.",
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "description": "Public Ailoot task or operation identifier.",
                "name": "id",
                "type": "string"
              },
              {
                "description": "Original task identifier, separate from the public id.",
                "name": "provider_task_id",
                "type": "string"
              },
              {
                "description": "Returned Ailoot lookup path.",
                "name": "polling_url",
                "type": "string"
              },
              {
                "description": "Actual returned job identifier.",
                "name": "jobs[].id",
                "type": "string"
              },
              {
                "description": "State of each returned job.",
                "name": "jobs[].status",
                "type": "string"
              },
              {
                "description": "Each completed video is exposed through an Ailoot-owned signed URL.",
                "name": "jobs[].results.raw.url",
                "type": "string"
              }
            ],
            "format": null,
            "maximum_outputs": null,
            "ownership": "Selected outputs are copied and verified before owned publication.",
            "result": "Keep the returned jobs and their states. Read every completed owned video result."
          }
        },
        "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"
              }
            ]
          },
          {
            "basis": "Tämä arvio ei ole lisämaksu eikä valmistuneen generoinnin kiinteä hinta.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Arvioitu luontikustannus",
            "units": [
              {
                "amount": "1.24",
                "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": "1.24",
                "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": "{\n  \"model\": \"dop-lite\",\n  \"params\": {\n    \"model\": \"dop-lite\",\n    \"prompt\": \"a cat\",\n    \"seed\": 500000,\n    \"motions\": [\n      {\n        \"id\": \"2bae49e6-ffe7-42a8-a73f-d44632c4acaa\",\n        \"strength\": 0.5\n      }\n    ],\n    \"input_images\": [\n      {\n        \"type\": \"image_url\",\n        \"image_url\": \"YOUR_ACCESSIBLE_IMAGE_URL\"\n      }\n    ],\n    \"enhance_prompt\": true,\n    \"check_nsfw\": true\n  }\n}",
            "label": "JSON · create video",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_POLL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote,urljoin,urlsplit\nr=json.loads(Path(\"result.json\").read_text())\ni=r.get(\"id\")\nif not isinstance(i,str) or not i:raise SystemExit(\"Keep original response/headers/id; do not resubmit creation.\")\nu=urljoin(\"https://api.ailoot.ai\",r.get(\"polling_url\") or \"/v1/videos/\"+quote(i,safe=\"\"))\np=urlsplit(u)\nif p.scheme!=\"https\" or p.netloc!=\"api.ailoot.ai\" or not p.path.startswith(\"/v1/videos/\"):raise SystemExit(\"Use the actual Ailoot lookup path.\")\nPath(\"poll-url.txt\").write_text(u)\nPY_POLL\ncurl --fail-with-body --silent --show-error \"$(cat poll-url.txt)\" -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\n",
            "label": "curl · read original task",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the same model selector at the top level and inside params.",
          "Create once, then use the returned public id and polling_url for the original operation.",
          "Retrieve every completed owned video; inspect actual duration and dimensions in the result.",
          "Replace YOUR_ACCESSIBLE_IMAGE_URL in the example with your actual reference image URL."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "image",
          "text"
        ],
        "label": "Videot",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations"
        ],
        "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"
              }
            ]
          },
          {
            "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": "1.24",
                "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": "1.24",
                "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": "dop-lite",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "1.24",
            "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": "1.24",
            "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": "dop-lite",
        "request_model_id": "dop-lite",
        "route_label": "Ultra"
      }
    ],
    "name": "Higgsfield: DOP Lite",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 1.24,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 1.24,
      "varies": false
    },
    "short": "DOP Lite animoi annetun kuvan dokumentoiduilla liikepohjilla, säädettävällä voimakkuudella ja kirjallisilla ohjeilla. Tämä tarkka dop-lite-valintatunniste käyttää kuvasta videoksi -pyyntöä ja palauttaa videon asynkronisen tehtävän kautta."
  },
  "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": "DOP Lite animoi annetun kuvan dokumentoiduilla liikepohjilla, säädettävällä voimakkuudella ja kirjallisilla ohjeilla. Tämä tarkka dop-lite-valintatunniste käyttää kuvasta videoksi -pyyntöä ja palauttaa videon asynkronisen tehtävän kautta.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "c6f807f9cb76dbfbcf465970ce3fb6e6603d1593f5c43e3206d2134f9d3a9365",
    "renderer_sha256": "303a59603e2bc29ba8fda690e95fd32cec68de223d92e26054a88babff801dd7"
  },
  "sourceRevision": "6d02275b35bf666f9c220406654eec46b83c88cce2240757ab491c876096b233"
}
