happyhorse-1.1-r2v
Namuna tasvirlar va matnli ssenariy asosida video yaratish modeli. Yangi sahnada personajlar ko‘rinishi, buyumlar va vizual uslubni saqlashga yordam beradi.
- Ailoot · Video yaratish
POST /v1/videos/generationshappyhorse-1.1-r2v - Ailoot · Video yaratish
POST /v1/videos/generationshappyhorse-r2v - Ailoot · Video yaratish
POST /v1/videos/generationshappyhorse-r2v-latest
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
HappyHorse-1.1-R2V namuna tasvirlar va matnli topshiriq asosida yangi videosahna yaratadi. Alibaba modelni harakat yaratishda personajlar, obyektlar va vizual uslubning tanib bo‘ladigan xususiyatlarini saqlashga yo‘naltirgan. Namunalar sahna mazmuni va tashqi ko‘rinishini belgilaydi, matn esa bu elementlar qanday o‘zaro ta’sirlashishi kerakligini tavsiflaydi.
Vizual namunalarning vazifalari
Birdan to‘qqiztagacha tasvir ishlatish mumkin. Ular qahramon, buyum, muhit yoki badiiy ifodani belgilashi mumkin. Vizual materialni harakatning kerakli qismiga bog‘lash uchun tavsifda namuna raqami va undagi aniq obyektni ko‘rsatish mumkin. Bu, ayniqsa, bir nechta tasvirdagi elementlarni bitta kompozitsiyada birlashtirishda foydali.
Boshlang‘ich kadr rejimidan farqli ravishda, bu yerda namunalar yangi sahna mazmuni uchun tayanch bo‘lib xizmat qiladi. Matnli topshiriq majburiy: u obyektlar ko‘rinishini harakat, kamera harakati va umumiy sahnalashtirish bilan bog‘laydi. Ishlab chiqaruvchi vizual uyg‘unlik va kinematografik harakatni ta’kidlaydi; natija boshlang‘ich tasvirlar montaji emas, yaratilgan video bo‘lib qoladi.
Har biri 20 MB gacha bo‘lgan JPEG, JPG, PNG va WEBP fayllari qabul qilinadi. Tasvirning qisqa tomoni kamida 400 piksel bo‘lishi kerak; 720P yoki undan yuqori darajadagi materiallar tavsiya etiladi. Bu rejim kirishi aynan tasvirlar va matndan iborat.
Davomiylik, kadr va ovoz
Natija MP4 formatida, soniyasiga 24 kadr tezlikda saqlanadi. Davomiylik 3 dan 15 soniyagacha bo‘lgan butun son bilan belgilanadi. Aniqlikni 480P, 720P va 1080P orasidan tanlash mumkin; ovozli yo‘lak yaratish qo‘llab-quvvatlanadi.
Gorizontal, vertikal va kvadrat kadrlar mavjud: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 va 21:9. Formatni tanlash yangi sahna kompozitsiyasi uchun maydonni oldindan belgilashga yordam beradi.
Matn istalgan tilda bo‘lishi mumkin. Chegara xitoycha bo‘lmagan 5000 ta yoki xitoycha 2500 ta belgini tashkil etadi, ortiqcha qism tashlab yuboriladi. Namunalarning eng muhim vazifalari, voqea va harakat shu hajmga sig‘ishi kerak. Boshlang‘ich tasodifiylik urug‘i variantlarni o‘xshashtirishga yordam berishi mumkin, ammo bitta rolikning aynan takrorlanishini kafolatlamaydi.
Ailoot · Video yaratish POST /v1/videos/generations happyhorse-1.1-r2v
happyhorse-1.1-r2vhappyhorse-1.1-r2vhappyhorse-r2vhappyhorse-r2v-latest
Boshlash
Namuna tasvirlar va matnli ssenariy asosida video yaratish modeli. Yangi sahnada personajlar ko‘rinishi, buyumlar va vizual uslubni saqlashga yordam beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn · Rasmlar
- Natijalar
- Video
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot · Video yaratish POST /v1/videos/generations
- Kirish
text,image- Chiqish
video- Chiqish formati
- mp4
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar happyhorse-1.1-r2v | Standart— |
Maydonprompt | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
Maydonduration | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 3 Eng ko‘p: 15 Birlik: soniya | Standart5 |
Maydonresolution | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 480P, 720P, 1080P | Standart720P |
Maydonratio | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Standart16:9 |
Maydonimage_urls | Turhttps_url|data_image_url[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 Elementlarning eng ko‘p soni: 9 Dekodlangan baytlarning eng ko‘p soni: 20 971 520 MIME turlari: image/jpeg, image/png, image/webp | Standart— |
Kirish materiallari birikmalari
reference_images_to_video · Majburiy: prompt, image_urls
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, prompt, image_urls |
Parametrmaterial_types | Parametr talablaritext, image |
Parametroptional | Parametr talablariduration, resolution, ratio |
Parametrduration_integer_range | Parametr talablari3, 15 |
Parametrdefault_duration | Parametr talablari5 |
Parametrresolution | Parametr talablari480P, 720P, 1080P |
Parametrdefault_resolution | Parametr talablari720P |
Parametrratio | Parametr talablari16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 |
Parametrratio_must_omit | Parametr talablarifalse |
Parametrimage_urls | Parametr talablari{"min_count":1,"max_count":9,"schemes":["https","data rastri base64 ko‘rinishida"],"max_data_image_bytes":20971520} |
Hayot sikli: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.
Tariflar
Ailoot usullari tariflari
POST /v1/videos/generations- Chiqish
- 0,18 US$ 1080p aniqlikdagi soniya uchun
- Chiqish
- 0,07 US$ 480p aniqlikdagi soniya uchun
- Chiqish
- 0,14 US$ 720p aniqlikdagi soniya uchun
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot · Video yaratish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
z=urlsplit(u) if isinstance(u,str) else None
if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
-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))
PY_RESULT
Natijalarni olish va saqlash
Ailoot · Video yaratish
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Vazifa holatini tekshirish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
for x in r.get("data",[]):print(x)
PY_STATUS
Barcha tayyor materiallarni saqlash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
u=urljoin("https://api.ailoot.ai",x)
z=urlsplit(u)
if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
index=$((index + 1))
done < asset-urls.txt
Boshqa kontentni o‘qish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Barcha tayyor natijalarni saqlash
Har bir tayyor video yoki qaytarilgan faylni saqlang; har bir haqiqatan qaytarilgan material URL dan kontentni oling.
Qaytarilgan har bir data elementi/chiqish indeksini saqlang. content_url faqat birinchisiga tegishli; har bir haqiqiy mazmun yo‘lini/aktivni oling. index siz GET content barcha chiqishlarni bermaydi.
Asl javobni tekshirish kerak bo‘lsa
Mavjud dastlabki vazifani o‘qing; natijasi noma’lum yuborishni hech qachon takrorlamang.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonobject | Turstring |
Maydonmodel | Turstring |
Maydonstatus | Turstring |
Maydoncontent_url | Tursigned URL |
Maydondata[] | Tursigned URL |
Maydonusage | Turobject |
Maydonresult_pending_check | Turboolean |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Javob409 · video_not_ready | ShartDastlabki natija mazmuni hali mavjud emas | Keyingi qadamDastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling. |
Javobserver_error | ShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi | Keyingi qadamDastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang. |
Taxalluslar
Model taxalluslari
Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
Ailoot · Video yaratish POST /v1/videos/generations happyhorse-r2v
happyhorse-r2vhappyhorse-1.1-r2vhappyhorse-r2vhappyhorse-r2v-latest
Boshlash
Namuna tasvirlar va matnli ssenariy asosida video yaratish modeli. Yangi sahnada personajlar ko‘rinishi, buyumlar va vizual uslubni saqlashga yordam beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn · Rasmlar
- Natijalar
- Video
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot · Video yaratish POST /v1/videos/generations
- Kirish
text,image- Chiqish
video- Chiqish formati
- mp4
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar happyhorse-r2v | Standart— |
Maydonprompt | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
Maydonduration | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 3 Eng ko‘p: 15 Birlik: soniya | Standart5 |
Maydonresolution | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 480P, 720P, 1080P | Standart720P |
Maydonratio | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Standart16:9 |
Maydonimage_urls | Turhttps_url|data_image_url[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 Elementlarning eng ko‘p soni: 9 Dekodlangan baytlarning eng ko‘p soni: 20 971 520 MIME turlari: image/jpeg, image/png, image/webp | Standart— |
Kirish materiallari birikmalari
reference_images_to_video · Majburiy: prompt, image_urls
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext, image |
Parametrrequired | Parametr talablarinull |
Parametroptional_controls | Parametr talablarinull |
Hayot sikli: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.
Tariflar
Ailoot usullari tariflari
POST /v1/videos/generations- Chiqish
- 0,18 US$ 1080p aniqlikdagi soniya uchun
- Chiqish
- 0,07 US$ 480p aniqlikdagi soniya uchun
- Chiqish
- 0,14 US$ 720p aniqlikdagi soniya uchun
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot · Video yaratish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
z=urlsplit(u) if isinstance(u,str) else None
if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
-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))
PY_RESULT
Natijalarni olish va saqlash
Ailoot · Video yaratish
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Vazifa holatini tekshirish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
for x in r.get("data",[]):print(x)
PY_STATUS
Barcha tayyor materiallarni saqlash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
u=urljoin("https://api.ailoot.ai",x)
z=urlsplit(u)
if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
index=$((index + 1))
done < asset-urls.txt
Boshqa kontentni o‘qish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Barcha tayyor natijalarni saqlash
Har bir tayyor video yoki qaytarilgan faylni saqlang; har bir haqiqatan qaytarilgan material URL dan kontentni oling.
Qaytarilgan har bir data elementi/chiqish indeksini saqlang. content_url faqat birinchisiga tegishli; har bir haqiqiy mazmun yo‘lini/aktivni oling. index siz GET content barcha chiqishlarni bermaydi.
Asl javobni tekshirish kerak bo‘lsa
Mavjud dastlabki vazifani o‘qing; natijasi noma’lum yuborishni hech qachon takrorlamang.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonobject | Turstring |
Maydonmodel | Turstring |
Maydonstatus | Turstring |
Maydoncontent_url | Tursigned URL |
Maydondata[] | Tursigned URL |
Maydonusage | Turobject |
Maydonresult_pending_check | Turboolean |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Javob409 · video_not_ready | ShartDastlabki natija mazmuni hali mavjud emas | Keyingi qadamDastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling. |
Javobserver_error | ShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi | Keyingi qadamDastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang. |
Taxalluslar
Model taxalluslari
Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
Ailoot · Video yaratish POST /v1/videos/generations happyhorse-r2v-latest
happyhorse-r2v-latesthappyhorse-1.1-r2vhappyhorse-r2vhappyhorse-r2v-latest
Boshlash
Namuna tasvirlar va matnli ssenariy asosida video yaratish modeli. Yangi sahnada personajlar ko‘rinishi, buyumlar va vizual uslubni saqlashga yordam beradi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn · Rasmlar
- Natijalar
- Video
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot · Video yaratish POST /v1/videos/generations
- Kirish
text,image- Chiqish
video- Chiqish formati
- mp4
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar happyhorse-r2v-latest | Standart— |
Maydonprompt | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
Maydonduration | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 3 Eng ko‘p: 15 Birlik: soniya | Standart5 |
Maydonresolution | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 480P, 720P, 1080P | Standart720P |
Maydonratio | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Standart16:9 |
Maydonimage_urls | Turhttps_url|data_image_url[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 Elementlarning eng ko‘p soni: 9 Dekodlangan baytlarning eng ko‘p soni: 20 971 520 MIME turlari: image/jpeg, image/png, image/webp | Standart— |
Kirish materiallari birikmalari
reference_images_to_video · Majburiy: prompt, image_urls
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrmaterial_types | Parametr talablaritext, image |
Parametrrequired | Parametr talablarinull |
Parametroptional_controls | Parametr talablarinull |
Hayot sikli: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.
Tariflar
Ailoot usullari tariflari
POST /v1/videos/generations- Chiqish
- 0,18 US$ 1080p aniqlikdagi soniya uchun
- Chiqish
- 0,07 US$ 480p aniqlikdagi soniya uchun
- Chiqish
- 0,14 US$ 720p aniqlikdagi soniya uchun
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot · Video yaratish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v-latest", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
z=urlsplit(u) if isinstance(u,str) else None
if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos/generations \
-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))
PY_RESULT
Natijalarni olish va saqlash
Ailoot · Video yaratish
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Vazifa holatini tekshirish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
for x in r.get("data",[]):print(x)
PY_STATUS
Barcha tayyor materiallarni saqlash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
u=urljoin("https://api.ailoot.ai",x)
z=urlsplit(u)
if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
index=$((index + 1))
done < asset-urls.txt
Boshqa kontentni o‘qish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Barcha tayyor natijalarni saqlash
Har bir tayyor video yoki qaytarilgan faylni saqlang; har bir haqiqatan qaytarilgan material URL dan kontentni oling.
Qaytarilgan har bir data elementi/chiqish indeksini saqlang. content_url faqat birinchisiga tegishli; har bir haqiqiy mazmun yo‘lini/aktivni oling. index siz GET content barcha chiqishlarni bermaydi.
Asl javobni tekshirish kerak bo‘lsa
Mavjud dastlabki vazifani o‘qing; natijasi noma’lum yuborishni hech qachon takrorlamang.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonobject | Turstring |
Maydonmodel | Turstring |
Maydonstatus | Turstring |
Maydoncontent_url | Tursigned URL |
Maydondata[] | Tursigned URL |
Maydonusage | Turobject |
Maydonresult_pending_check | Turboolean |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Javob409 · video_not_ready | ShartDastlabki natija mazmuni hali mavjud emas | Keyingi qadamDastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling. |
Javobserver_error | ShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi | Keyingi qadamDastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang. |
Taxalluslar
Model taxalluslari
Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
FAQ · happyhorse-1.1-r2v
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/videos/generations·happyhorse-1.1-r2v:text,image→videoPOST /v1/videos/generations·happyhorse-r2v:text,image→videoPOST /v1/videos/generations·happyhorse-r2v-latest:text,image→video- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/videos/generations·happyhorse-1.1-r2v:model,prompt,duration,resolution,ratio,image_urlsPOST /v1/videos/generations·happyhorse-r2v:model,prompt,duration,resolution,ratio,image_urlsPOST /v1/videos/generations·happyhorse-r2v-latest:model,prompt,duration,resolution,ratio,image_urls- Qanday cheklovlar amal qiladi?
POST /v1/videos/generations·happyhorse-1.1-r2v:duration.minimum:3;duration.maximum:15POST /v1/videos/generations·happyhorse-r2v:duration.minimum:3;duration.maximum:15POST /v1/videos/generations·happyhorse-r2v-latest:duration.minimum:3;duration.maximum:15