modely

Alibaba: HappyHorse 1.0

Markdown · JSON

Alibaba: HappyHorse 1.0

Alibaba HappyHorse 1.0 vytváří krátká videa se zvukem z textu, úvodního obrázku nebo až devíti referenčních obrázků. Jeho režimy generování produkují 3–15sekundová videa MP4 při 24 fps v rozlišení 720p nebo 1080p. Samostatně pojmenovaný profil 1.0 pro úpravu videa přepracovává dodané záběry s volitelnými vizuálními referencemi a vlastními limity.

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

Alibaba HappyHorse 1.0 je edice pro tvorbu videa s pojmenovanými profily pro generování videa z textu, z úvodního snímku a z referencí. Výrobce označuje za hlavní tvůrčí zaměření fyzikálně přesvědčivý pohyb, porozumění významu a synchronizaci obrazu se zvukem. Referenční profil může pomocí až devíti obrázků řídit podobu objektů a scén. Užitečným výstupem je krátký klip se zvukem: nová scéna, animace připraveného úvodního obrázku nebo záběr postavy či produktu vedený referencemi.

U scény vytvářené z textu určete hlavní objekt, prostředí, děj a kameru spolu se zamýšleným zvukem. Pro stolní scénu popište malý model plachetnice pohybující se v mělkém tácu s vodou, který kamera sleduje ve výšce stolu. Při kontrole pak můžete posoudit tvar lodi, měřítko scény, pohyb vody a vztah mezi pohybem a zvukem. Soustředěný děj se hodnotí snáze než přeplněná sekvence, jejíž zásadní okamžik není jasně určen.

Pro generování z úvodního snímku použijte obrázek, jehož objekt a kompozice již odpovídají požadovanému začátku. Popište následující pohyb a dráhu kamery. Konkrétní obrazový profil výrobce ve verzi 1.0 přijímá textový a obrazový vstup, zatímco jeho tabulka generování tento režim označuje jako převod úvodního snímku na video. Před vytvořením záběru připravte ořez a viditelné detaily produktu či postavy. Ověřte, zda zůstávají rozpoznatelné i během pohybu, místo hodnocení samotného úvodního snímku.

Generování videa z referencí spojuje lidi, produkty, styl nebo prostředí zachycené ve vizuálních podkladech do nově popsané scény. Stránka konkrétního referenčního modelu 1.0 dokumentuje až devět obrázků. V zadání přiřaďte každému jeho roli a popište, jak se má hlavní objekt ve scéně chovat. Při prezentaci produktu můžete odlišit referenci předmětu od okolní lokace či vizuálního stylu. Výrobcem zdůrazňovaná stabilita je cílem kontroly: v celém klipu porovnávejte objekt, jeho značení a umístění se skutečnými referencemi.

Rodina 1.0 má také samostatně pojmenovaný profil pro úpravu videa, určený ke změnám stylu a místním i širším úpravám existujících záběrů. Tento profil přijímá právě jedno zdrojové video a nula až pět referenčních obrázků, na rozdíl od devíti obrázků při generování z referencí. Uveďte, co se má změnit a co zachovat, například změnu oděvu při zachování osoby, pohybu a pozadí. Upravený výsledek je nutné porovnat s celým zdrojovým klipem, ne jen se snímkem ukazujícím požadovanou náhradu.

Příručka konkrétního profilu 1.0 pro úpravy přijímá zdrojové záběry MP4 nebo MOV, doporučuje H.264 a dovoluje délku zdroje od tří do šedesáti sekund. Uvádí maximum 100 MB, kratší stranu alespoň 360 pixelů, delší stranu nejvýše 4 096 pixelů, poměry stran mezi 1:2,5 a 2,5:1 a vstupní snímkovou frekvenci od osmi do šedesáti fps. Upravené výstupy jsou omezeny na tři až patnáct sekund: zdroje dlouhé nejvýše patnáct sekund si zachovávají délku, z delších zdrojů se použije jen prvních patnáct sekund. Pokud důležitý děj nastává později, před přípravou úpravy zdroj ořízněte na požadovaný úsek.

Volitelné referenční obrázky profilu pro úpravy mají vlastní limit dvacet MB a požadavky na formát JPEG/JPG, PNG nebo WEBP; oba rozměry musí mít alespoň 300 pixelů a platí stejný dokumentovaný rozsah poměrů stran. Příručka také rozlišuje automatické zpracování zvuku a zachování původního zvuku. Připravte referenci určující požadovanou změnu a zvolte vztah zdrojového zvuku k této změně. Jde o konkrétní ovládací prvky profilu 1.0 pro úpravy, oddělené od režimů generování nových scén.

Pro režimy generování 1.0 uvádí konkrétní tabulka výrobce rozlišení 720p nebo 1080p, délku tři až patnáct sekund, MP4 při 24 fps a zvuk. Profil pro úpravy také vytváří 720p nebo 1080p v rámci svého patnáctisekundového limitu. Dokumentovaný postup úlohy nejprve vrací identifikátor zpracování a po úspěšném dokončení adresu hotového videa; adresy výsledků platí dvacet čtyři hodin. Při přípravě produkční úpravy si ponechte samotný klip, prompt a reference a společně posuďte výsledné rámování, délku a zvuk.

HappyHorse 1.1 přidává možnost generování v 480p a pojmenovaná zlepšení vizuálních detailů, pohybu a konzistence mezi klipy. Tato pozdější tvrzení o generování nejsou zárukou konkrétní revize profilu 1.0. Užitečná příprava pro 1.0 vychází ze zvoleného režimu a skutečných zdrojových materiálů. Zkontrolujte identitu, kontakt, geometrii objektů, text a zvuk a další opravu formulujte konkrétně. U upraveného klipu také ověřte, že důležité původní detaily mimo požadovanou změnu nadále vyhovují zamýšlené scéně.

Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.0

alibaba/happyhorse-1.0

Alibaba /alibaba/happyhorse-1.0

Úvod

Alibaba HappyHorse 1.0 vytváří krátká videa se zvukem z textu, úvodního obrázku nebo až devíti referenčních obrázků. Jeho režimy generování produkují 3–15sekundová videa MP4 při 24 fps v rozlišení 720p nebo 1080p. Samostatně pojmenovaný profil 1.0 pro úpravu videa přepracovává dodané záběry s volitelnými vizuálními referencemi a vlastními limity.

Přijímané vstupy
Text · Obrázky
Výsledky
Video

Dostupné v Ailoot · vstupy a metody

Ailoot Ultra · Video POST /v1/videos
Vstup
text, image
Výstup
video
Výstupní formát
původní bajty MP4; bez normalizace a překódování
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
alibaba/happyhorse-1.0
Výchozí—
PolepromptTypstringPožadavekPovinnéHodnoty a limityVýchozí—
PoledurationTypintegerPožadavekPovinnéHodnoty a limity
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Minimum: 1
Maximum: 600
Výchozí—
PoleresolutionTypstringPožadavekVolitelnéHodnoty a limity
720p, 1080p
Výchozí—
Poleaspect_ratioTypstringPožadavekVolitelnéHodnoty a limity
16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21
Výchozí—
Polegenerate_audioTypbooleanPožadavekVolitelnéHodnoty a limity
false
Výchozí—
Poleframe_imagesTyparrayPožadavekVolitelnéHodnoty a limity
Minimální počet položek: 1
Maximální počet položek: 1
Vstupní obsah: Pole objektů snímků. Každý objekt obsahuje type=image_url, image_url obsahující url a frame_type. Použijte HTTPS URL obrázku a nastavte frame_type na first_frame. Každá role snímku se smí vyskytnout nejvýše jednou.
Přesné klíče: type, image_url, frame_type
Podmínky: Tyto klíče popisují každý objekt snímku; image_url obsahuje pouze url. Pro požadavek obsahující pouze text vynechte frame_images.
Výchozí—
Poleinput_referencesTyparrayPožadavekVolitelnéHodnoty a limityVýchozí—
PolesizeTypstringPožadavekVolitelnéHodnoty a limity
1280x720, 720x1280, 720x720, 960x720, 720x960, 1680x720, 720x1680, 1920x1080, 1080x1920, 1080x1080, 1440x1080, 1080x1440, 2520x1080, 1080x2520
Vzor: ^[1-9][0-9]*x[1-9][0-9]*$
Výchozí—
PoleseedTypintegerPožadavekVolitelnéHodnoty a limity
Minimum: -9 223 372 036 854 775 808
Maximum: 9 223 372 036 854 775 807
Výchozí—
Polecallback_urlTypstringPožadavekVolitelnéHodnoty a limity
Vzor: ^https://
Výchozí—
Polesession_idTypstringPožadavekVolitelnéHodnoty a limityVýchozí—
PoletraceTypobjectPožadavekVolitelnéHodnoty a limityVýchozí—
PoleuserTypstringPožadavekVolitelnéHodnoty a limityVýchozí—
Kombinace vstupních materiálů

Text na video · Textové zadání. · Povinné: model, prompt, duration

Zadejte prompt jako text a duration v celých sekundách. Vyberte podporované rozlišení; přidejte poměr stran nebo použijte uvedenou velikost.

model: Typ: string · alibaba/happyhorse-1.0

prompt: Typ: string · Maximální počet bajtů UTF-8: 10 000 · Vyžadován obsah kromě bílých znaků: Ano

Obrázek na video · Textové zadání a obrázek prvního snímku. · Povinné: model, prompt, duration, frame_images

frame_images je pole. Každý objekt snímku obsahuje type, image_url a frame_type; image_url obsahuje url. Nastavte type na image_url. Použijte first_frame. Každá role snímku se smí vyskytnout nejvýše jednou. Pro každý snímek zadejte veřejnou HTTPS URL obrázku. Vyberte podporované rozlišení; přidejte poměr stran nebo použijte uvedenou velikost.

Přesné klíče: type, image_url, frame_type

model: Typ: string · alibaba/happyhorse-1.0

prompt: Typ: string · Maximální počet bajtů UTF-8: 10 000 · Vyžadován obsah kromě bílých znaků: Ano

Reference to video · Textové zadání a podporované obrazové reference. · Povinné: model, prompt, duration, input_references

input_references je pole objektů. Nastavte type na image_url a použijte odpovídající pole obsahující url. Používejte veřejné HTTPS URL. Vynecháním frame_images zvolíte režim referencí. Vyberte podporované rozlišení; přidejte poměr stran nebo použijte uvedenou velikost.

model: Typ: string · alibaba/happyhorse-1.0

prompt: Typ: string · Maximální počet bajtů UTF-8: 10 000 · Vyžadován obsah kromě bílých znaků: Ano

Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, prompt, duration
Parametrmaterial_typesKontrakttext, image
Parametradditional_propertiesKontraktfalse
Parametroptional_controlsKontraktresolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user

Životní cyklus: submit_once_poll_original

GET /v1/videos/{public_id}

GET /v1/videos/{public_id}/content

Tarify

Jak se vypočítá konečný poplatek

Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim
Neuvedeno Při výběru rychlého režimu
Režim flex
Neuvedeno Při výběru režimu flex
Maximální intenzita uvažování
Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)

Odhadované sazby pro srovnání

Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

KonfiguraceTabulka sazebPředpokládané množstvíÚčtovací jednotkaPodmínky účtováníPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaPředpokládané množství—Účtovací jednotka—Podmínky účtování—Poplatek
Vstup · Vstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů
Výstup · Výstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů
Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání — / 1K tokenů
Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání — / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání — / 1K tokenů
KonfiguraceCena videaTabulka sazeb—Předpokládané množství—Účtovací jednotkaza sekundu videaPodmínky účtováníresolution: 1080pPoplatek
Výstup · Cena videa · Odhad pouze pro srovnání $0.3388 za sekundu videa
KonfiguraceCena videaTabulka sazeb—Předpokládané množství—Účtovací jednotkaza sekundu videaPodmínky účtováníresolution: 720pPoplatek
Výstup · Cena videa · Odhad pouze pro srovnání $0.1976 za sekundu videa
KonfiguraceOdhadovaná cena generováníTabulka sazeb—Předpokládané množstvíodhad pro jedno generováníÚčtovací jednotka—Podmínky účtování—Poplatek
Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání $0.5928 odhad před generováním

Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování.

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →

Podrobnosti referenčního tarifu

Referenční tabulky modelu nemění výběr metody, cenové nabídky ani poplatky. Skutečné poplatky používají sazby vybrané metody Ailoot.

Cenové reference konfigurací videa

Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

KonfiguracePodmínky účtováníPoplatek
KonfiguraceCena videaPodmínky účtováníresolution: 720pPoplatek
Výstup · Cena videa $0.1976 za sekundu videa

Zveřejněná referenční cena pro zobrazenou konfiguraci. Konečné poplatky odpovídají skutečně účtované konfiguraci.

KonfiguraceCena videaPodmínky účtováníresolution: 1080pPoplatek
Výstup · Cena videa $0.3388 za sekundu videa

Zveřejněná referenční cena pro zobrazenou konfiguraci. Konečné poplatky odpovídají skutečně účtované konfiguraci.

Příklady požadavků

Ailoot Ultra · Video

curl · vytvořte video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":3,"model":"alibaba/happyhorse-1.0","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT

Přijímání a ukládání výsledků

Ailoot Ultra · Video

podepsané URL obsahu spravovaného službou

  • GET /v1/videos/{public_id}
  • GET /v1/videos/{public_id}/content
Ověřit stav úlohy
Získat stav původní operace pomocí GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Další načtení obsahu
Uložte každý dokončený výstup, který vám patří
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
    urls.append((str(i),u))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Uchovejte všechny dokončené výsledky

Uložte každé dokončené video či vrácený soubor; stáhněte obsah každé skutečně vrácené URL souboru.

Uchovejte každý skutečný výstup spravovaný službou a jeho vrácená metadata s naměřenými hodnotami.

Pokud je nutné ověřit původní odpověď

503 result_pending_check + původní id + X-Should-Retry:false; původní požadavek nikdy neopakujte

Pole odpovědi
PoleTypVýznam
PoleindexTypintegerVýznamPozice tohoto videa v seznamu výstupů, číslovaná od nuly.
Polecontent_urlTypstringVýznamPodepsaná HTTPS URL pro stažení tohoto dokončeného videa.
Polesha256Typstring | nullVýznamOtisk SHA-256 původních bajtů videa; null, není-li dostupný.
Polesize_bytesTypinteger | nullVýznamVelikost původního videosouboru v bajtech; null, není-li dostupná.
Poleduration_msTypinteger | nullVýznamNaměřená délka videa v milisekundách; null, není-li dostupná.
PolewidthTypinteger | nullVýznamŠířka videa v pixelech; null, není-li dostupná.
PoleheightTypinteger | nullVýznamVýška videa v pixelech; null, není-li dostupná.
Polevideo_codecTypstring | nullVýznamIdentifikátor video kodeku; null, není-li zaznamenán.
Polehas_audioTypboolean | nullVýznamZda video obsahuje zvukovou stopu; null, nebylo-li změřeno.
Poleaudio_codecTypstring | nullVýznamIdentifikátor zvukového kodeku; null, není-li žádný identifikátor zaznamenán.
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď404 · not_found_errorPodmínkaPřístup k videu není dostupný nebo toto ID videa nebylo nalezeno.Další krokZkontrolujte přístup k videu. U existujícího videa použijte jeho původní veřejné ID a stejný klíč API.
Odpověď401 · authentication_errorPodmínkaKlíč API neodpovídá ověřenému účtu.Další krokPřed odesláním zkontrolujte svůj klíč API a přístup k účtu.
Odpověď400 · invalid_request_errorPodmínkaPožadavek se nepodařilo načíst nebo je index pro stažení neplatný.Další krokOpravte tělo požadavku. Pro stažení vyberte index výstupu vrácený původní úlohou.
Odpověď422 · price_unavailablePodmínkaVybranou konfiguraci videa nelze ocenit.Další krokPřed odesláním opraveného požadavku zvolte podporovanou konfiguraci videa a vyplňte její povinné volby.
Odpověď422 · invalid_request_errorPodmínkaVstup videa nebo původní úloha pro pokračování jsou neplatné.Další krokPoužívejte platné HTTPS vstupy. Pro pokračování použijte původní veřejné ID svého dokončeného videa se stejným klíčem API.
Odpověď402 · billing_errorPodmínkaDostupný zůstatek nebo limity neumožňují rezervaci.Další krokPřed odesláním nového požadavku zkontrolujte dostupný zůstatek a limity.
Odpověď503 · server_errorPodmínkaOvěřování videa, úložiště nebo přístup ke službě jsou dočasně nedostupné.Další krokPočkejte na dostupnost služby. Pokud už máte ID videa, kontrolujte tuto původní úlohu místo vytváření dalšího generování.
Odpověď503 · result_pending_checkPodmínkaPůvodní výsledek videa a vyúčtovanou částku je třeba zkontrolovat.Další krokUchovejte vrácené ID videa a kontrolujte tuto úlohu. Dokud probíhá kontrola, neposílejte náhradní požadavek na generování.
Odpověď503 · owned_result_unavailablePodmínkaStávající video je dočasně nedostupné ke stažení.Další krokPozději zkontrolujte tutéž úlohu videa a stáhněte její existující výstup. Nové generování vytvoří samostatnou operaci.
Odpověď409 · video_not_readyPodmínkaObsah videa nebyl zveřejněn.Další krokZkontrolujte stav původní úlohy. Stáhněte výstup, až nahlásí completed; nahlásí-li failed, řiďte se jejím upozorněním na kontrolu vyúčtování.

Aliasy

Aliasy modelu

Ailoot Ultra alibaba/happyhorse-1.0

Aliasy cest metod

Použijte cesty metod uvedené výše.

Související ID modelů

alibaba/happyhorse-1.0

FAQ · Alibaba: HappyHorse 1.0
Jaké vstupy a výsledky jsou dostupné?

POST /v1/videos · alibaba/happyhorse-1.0: text, image → video

Jaká pole požadavek používá?

POST /v1/videos · alibaba/happyhorse-1.0: model, prompt, duration, resolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user

Jaké limity platí?

POST /v1/videos · alibaba/happyhorse-1.0: duration.minimum: 1; duration.maximum: 600; frame_images.max_items: 1; frame_images.min_items: 1; seed.minimum: -9223372036854775808; seed.maximum: 9223372036854775807

Další podrobnosti

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné
Pro pravidelné požadavky vyberte tarif se slevou.
Promo kód až 50%
Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.
Výdaje v historii
U každého požadavku se uloží model, tokeny a částka.

Vybrat předplatné · Zobrazit ceny modelů

Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace
Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.
Licence pro přeprodejce
Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.
Dokumenty na webu
Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

Požádat o licenci přeprodejce · Nabídka a licenční smlouva