happyhorse-1.1-r2v
Үлгі суреттер мен мәтіндік сценарий бойынша бейне жасайтын модель. Жаңа сахнада кейіпкерлердің сыртқы көрінісін, заттарды және визуалды стильді сақтауға көмектеседі.
- Ailoot · Бейне
POST /v1/videos/generationshappyhorse-1.1-r2v - Ailoot · Бейне
POST /v1/videos/generationshappyhorse-r2v - Ailoot · Бейне
POST /v1/videos/generationshappyhorse-r2v-latest
Модель туралы
Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.
HappyHorse-1.1-R2V үлгі суреттер мен мәтіндік тапсырма бойынша жаңа бейнесахна жасайды. Alibaba модельді қозғалыс жасау кезінде танымал кейіпкерлерді, нысандарды және визуалды стильді сақтауға бағыттайды. Үлгілер сахнаның мазмұны мен сыртқы көрінісін анықтайды, ал мәтін осы элементтердің қалай әрекеттесуі керектігін сипаттайды.
Визуалды үлгілердің рөлдері
Бірден тоғызға дейін сурет қолдануға болады. Олар кейіпкерді, затты, ортаны немесе көркемдік тәсілді белгілей алады. Визуалды материалды әрекеттің қажетті бөлігімен байланыстыру үшін сипаттамада үлгінің нөмірін және ондағы нақты нысанды атауға болады. Бұл бірнеше суреттің элементтерін бір композицияға біріктіру қажет болғанда әсіресе пайдалы.
Бастапқы кадры бар режимнен айырмашылығы, мұнда үлгілер жаңа сахнаның мазмұнына негіз болады. Мәтіндік тапсырма міндетті: ол нысандардың сыртқы көрінісін әрекетпен, камера қозғалысымен және жалпы қойылыммен байланыстырады. Өндіруші визуалды үйлесімділік пен кинематографиялық қозғалысты атап көрсетеді; нәтиже бастапқы суреттерді монтаждау емес, генерация болып қалады.
Әрқайсысының өлшемі 20 МБ-қа дейінгі JPEG, JPG, PNG және WEBP қабылданады. Суреттің қысқа қабырғасы кемінде 400 пиксель болуы керек; 720P немесе одан жоғары деңгейдегі материалдар ұсынылады. Бұл режимнің кірісі дәл суреттер мен мәтіннен тұрады.
Ұзақтық, кадр және дыбыс
Нәтиже секундына 24 кадр жиілігімен MP4 форматында сақталады. Ұзақтығы 3-тен 15 секундқа дейінгі бүтін санмен беріледі. Ажыратымдылықты 480P, 720P және 1080P арасынан таңдауға болады; дыбыстық сүйемелдеу генерациясы қолдау табады.
Көлденең, тік және шаршы кадрлар қолжетімді: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 және 21:9. Форматты таңдау жаңа сахнаның композициялық кеңістігін алдын ала анықтауға көмектеседі.
Мәтін кез келген тілде беріле алады. Шек — қытайша емес 5000 немесе қытайша 2500 таңба; артық бөлігі алынып тасталады. Үлгілердің ең маңызды рөлдері, әрекет пен қозғалыс осы көлемге сыюы керек. Кездейсоқтықтың бастапқы мәні нұсқалардың ұқсастығын бағыттай алады, бірақ бір роликтің дәл қайталануына кепілдік бермейді.
Ailoot · Бейне POST /v1/videos/generations happyhorse-1.1-r2v
happyhorse-1.1-r2vhappyhorse-1.1-r2vhappyhorse-r2vhappyhorse-r2v-latest
Бастау
Үлгі суреттер мен мәтіндік сценарий бойынша бейне жасайтын модель. Жаңа сахнада кейіпкерлердің сыртқы көрінісін, заттарды және визуалды стильді сақтауға көмектеседі.
- Қабылданатын кіріс деректері
- Мәтін · Суреттер
- Нәтижелер
- Бейне
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot · Бейне POST /v1/videos/generations
- Кіріс
text,image- Шығыс
video- Шығыс пішімі
- mp4
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер happyhorse-1.1-r2v | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
Өрісduration | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 3 Ең көбі: 15 Бірлік: секунд | Әдепкі5 |
Өрісresolution | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 480P, 720P, 1080P | Әдепкі720P |
Өрісratio | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Әдепкі16:9 |
Өрісimage_urls | Түріhttps_url|data_image_url[] | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 Элементтердің ең көп саны: 9 Декодталған байттардың ең көп саны: 20 971 520 MIME түрлері: image/jpeg, image/png, image/webp | Әдепкі— |
Кіріс материалдарының үйлесімдері
reference_images_to_video · Міндетті: prompt, image_urls
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрcontent_type | Параметр талаптарыapplication/json |
Параметрrequired | Параметр талаптарыmodel, prompt, image_urls |
Параметрmaterial_types | Параметр талаптарыtext, image |
Параметрoptional | Параметр талаптарыduration, resolution, ratio |
Параметрduration_integer_range | Параметр талаптары3, 15 |
Параметрdefault_duration | Параметр талаптары5 |
Параметрresolution | Параметр талаптары480P, 720P, 1080P |
Параметрdefault_resolution | Параметр талаптары720P |
Параметрratio | Параметр талаптары16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 |
Параметрratio_must_omit | Параметр талаптарыfalse |
Параметрimage_urls | Параметр талаптары{"min_count":1,"max_count":9,"schemes":["https","data схемасындағы base64 растрлық деректері"],"max_data_image_bytes":20971520} |
Өмірлік цикл: 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
Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.
Тарифтер
Ailoot әдістерінің мөлшерлемелері
POST /v1/videos/generations- Шығыс
- 0,18 $ 1080p ажыратымдылықта секундына
- Шығыс
- 0,07 $ 480p ажыратымдылықта секундына
- Шығыс
- 0,14 $ 720p ажыратымдылықта секундына
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot · Бейне
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
Нәтижелерді алу және сақтау
Ailoot · Бейне
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Тапсырма күйін тексеру
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
Барлық дайын материалды сақтау
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
Басқа мазмұнды оқу
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
Барлық дайын нәтижені сақтау
Әр дайын бейнені немесе қайтарылған файлды сақтаңыз; нақты қайтарылған әр материал URL арқылы мазмұнды алыңыз.
Қайтарылған әрбір дерек элементін және шығыс индексін сақтаңыз. content_url тек бірінші нәтижеге арналған; әрбір нақты мазмұн жолы немесе ресурс бойынша файлды алыңыз. Индекссіз мазмұн GET сұрауы барлық шығыс нәтижесін бермейді.
Бастапқы жауапты тексеру қажет болса
Бар бастапқы тапсырманы оқыңыз; жіберу нәтижесі белгісіз сұрауды ешқашан қайталап жібермеңіз.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісid | Түріstring |
Өрісobject | Түріstring |
Өрісmodel | Түріstring |
Өрісstatus | Түріstring |
Өрісcontent_url | Түріsigned URL |
Өрісdata[] | Түріsigned URL |
Өрісusage | Түріobject |
Өрісresult_pending_check | Түріboolean |
Қателер және келесі қадамдар
| Жауап | Шарт | Келесі қадам |
|---|---|---|
Жауап400 · invalid_request_error | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
Жауап409 · video_not_ready | ШартБастапқы нәтиженің мазмұны әзірге қолжетімді емес | Келесі қадамБастапқы қайтарылған ID бойынша күйді мезгіл-мезгіл сұрап, Retry-After талабын сақтаңыз. |
Жауапserver_error | ШартҚайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген | Келесі қадамБастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз. |
Балама атаулар
Модельдердің балама атаулары
Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
Ailoot · Бейне POST /v1/videos/generations happyhorse-r2v
happyhorse-r2vhappyhorse-1.1-r2vhappyhorse-r2vhappyhorse-r2v-latest
Бастау
Үлгі суреттер мен мәтіндік сценарий бойынша бейне жасайтын модель. Жаңа сахнада кейіпкерлердің сыртқы көрінісін, заттарды және визуалды стильді сақтауға көмектеседі.
- Қабылданатын кіріс деректері
- Мәтін · Суреттер
- Нәтижелер
- Бейне
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot · Бейне POST /v1/videos/generations
- Кіріс
text,image- Шығыс
video- Шығыс пішімі
- mp4
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер happyhorse-r2v | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
Өрісduration | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 3 Ең көбі: 15 Бірлік: секунд | Әдепкі5 |
Өрісresolution | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 480P, 720P, 1080P | Әдепкі720P |
Өрісratio | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Әдепкі16:9 |
Өрісimage_urls | Түріhttps_url|data_image_url[] | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 Элементтердің ең көп саны: 9 Декодталған байттардың ең көп саны: 20 971 520 MIME түрлері: image/jpeg, image/png, image/webp | Әдепкі— |
Кіріс материалдарының үйлесімдері
reference_images_to_video · Міндетті: prompt, image_urls
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрmaterial_types | Параметр талаптарыtext, image |
Параметрrequired | Параметр талаптарыnull |
Параметрoptional_controls | Параметр талаптарыnull |
Өмірлік цикл: 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
Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.
Тарифтер
Ailoot әдістерінің мөлшерлемелері
POST /v1/videos/generations- Шығыс
- 0,18 $ 1080p ажыратымдылықта секундына
- Шығыс
- 0,07 $ 480p ажыратымдылықта секундына
- Шығыс
- 0,14 $ 720p ажыратымдылықта секундына
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot · Бейне
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
Нәтижелерді алу және сақтау
Ailoot · Бейне
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Тапсырма күйін тексеру
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
Барлық дайын материалды сақтау
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
Басқа мазмұнды оқу
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
Барлық дайын нәтижені сақтау
Әр дайын бейнені немесе қайтарылған файлды сақтаңыз; нақты қайтарылған әр материал URL арқылы мазмұнды алыңыз.
Қайтарылған әрбір дерек элементін және шығыс индексін сақтаңыз. content_url тек бірінші нәтижеге арналған; әрбір нақты мазмұн жолы немесе ресурс бойынша файлды алыңыз. Индекссіз мазмұн GET сұрауы барлық шығыс нәтижесін бермейді.
Бастапқы жауапты тексеру қажет болса
Бар бастапқы тапсырманы оқыңыз; жіберу нәтижесі белгісіз сұрауды ешқашан қайталап жібермеңіз.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісid | Түріstring |
Өрісobject | Түріstring |
Өрісmodel | Түріstring |
Өрісstatus | Түріstring |
Өрісcontent_url | Түріsigned URL |
Өрісdata[] | Түріsigned URL |
Өрісusage | Түріobject |
Өрісresult_pending_check | Түріboolean |
Қателер және келесі қадамдар
| Жауап | Шарт | Келесі қадам |
|---|---|---|
Жауап400 · invalid_request_error | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
Жауап409 · video_not_ready | ШартБастапқы нәтиженің мазмұны әзірге қолжетімді емес | Келесі қадамБастапқы қайтарылған ID бойынша күйді мезгіл-мезгіл сұрап, Retry-After талабын сақтаңыз. |
Жауапserver_error | ШартҚайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген | Келесі қадамБастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз. |
Балама атаулар
Модельдердің балама атаулары
Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
Ailoot · Бейне POST /v1/videos/generations happyhorse-r2v-latest
happyhorse-r2v-latesthappyhorse-1.1-r2vhappyhorse-r2vhappyhorse-r2v-latest
Бастау
Үлгі суреттер мен мәтіндік сценарий бойынша бейне жасайтын модель. Жаңа сахнада кейіпкерлердің сыртқы көрінісін, заттарды және визуалды стильді сақтауға көмектеседі.
- Қабылданатын кіріс деректері
- Мәтін · Суреттер
- Нәтижелер
- Бейне
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot · Бейне POST /v1/videos/generations
- Кіріс
text,image- Шығыс
video- Шығыс пішімі
- mp4
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер happyhorse-r2v-latest | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
Өрісduration | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 3 Ең көбі: 15 Бірлік: секунд | Әдепкі5 |
Өрісresolution | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 480P, 720P, 1080P | Әдепкі720P |
Өрісratio | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | Әдепкі16:9 |
Өрісimage_urls | Түріhttps_url|data_image_url[] | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 Элементтердің ең көп саны: 9 Декодталған байттардың ең көп саны: 20 971 520 MIME түрлері: image/jpeg, image/png, image/webp | Әдепкі— |
Кіріс материалдарының үйлесімдері
reference_images_to_video · Міндетті: prompt, image_urls
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрmaterial_types | Параметр талаптарыtext, image |
Параметрrequired | Параметр талаптарыnull |
Параметрoptional_controls | Параметр талаптарыnull |
Өмірлік цикл: 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
Әдіс құрылымдары мен ID мәндері дәл берілген; жеткізушінің мүмкіндігі сұрауды қабылдаудан бөлек қаралады.
Тарифтер
Ailoot әдістерінің мөлшерлемелері
POST /v1/videos/generations- Шығыс
- 0,18 $ 1080p ажыратымдылықта секундына
- Шығыс
- 0,07 $ 480p ажыратымдылықта секундына
- Шығыс
- 0,14 $ 720p ажыратымдылықта секундына
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot · Бейне
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
Нәтижелерді алу және сақтау
Ailoot · Бейне
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Тапсырма күйін тексеру
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
Барлық дайын материалды сақтау
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
Басқа мазмұнды оқу
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
Барлық дайын нәтижені сақтау
Әр дайын бейнені немесе қайтарылған файлды сақтаңыз; нақты қайтарылған әр материал URL арқылы мазмұнды алыңыз.
Қайтарылған әрбір дерек элементін және шығыс индексін сақтаңыз. content_url тек бірінші нәтижеге арналған; әрбір нақты мазмұн жолы немесе ресурс бойынша файлды алыңыз. Индекссіз мазмұн GET сұрауы барлық шығыс нәтижесін бермейді.
Бастапқы жауапты тексеру қажет болса
Бар бастапқы тапсырманы оқыңыз; жіберу нәтижесі белгісіз сұрауды ешқашан қайталап жібермеңіз.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісid | Түріstring |
Өрісobject | Түріstring |
Өрісmodel | Түріstring |
Өрісstatus | Түріstring |
Өрісcontent_url | Түріsigned URL |
Өрісdata[] | Түріsigned URL |
Өрісusage | Түріobject |
Өрісresult_pending_check | Түріboolean |
Қателер және келесі қадамдар
| Жауап | Шарт | Келесі қадам |
|---|---|---|
Жауап400 · invalid_request_error | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
Жауап409 · video_not_ready | ШартБастапқы нәтиженің мазмұны әзірге қолжетімді емес | Келесі қадамБастапқы қайтарылған ID бойынша күйді мезгіл-мезгіл сұрап, Retry-After талабын сақтаңыз. |
Жауапserver_error | ШартҚайтарылған жауапта операцияны немесе нәтижені тексеру қажет екені көрсетілген | Келесі қадамБастапқыда қайтарылған операцияның/тапсырманың ID мәнін, сұрау тақырыптарын және жауабын сақтаңыз; сол бастапқы операцияны қолдау көрсетілетін тәсілдермен оқуды жалғастырыңыз. Жасау сұрауын қайта жібермеңіз. |
Балама атаулар
Модельдердің балама атаулары
Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
FAQ · happyhorse-1.1-r2v
- Қандай кіріс деректері мен нәтижелер қолжетімді?
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- Сұрау қандай өрістерді пайдаланады?
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- Қандай шектеулер қолданылады?
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