happyhorse-1.1-i2v
Суретті қозғалысқа келтіретін модель: бастапқы сурет бірінші кадрды белгілейді, ал сипаттама кейінгі қозғалысты бағыттайды. Дыбыстық сүйемелдеуі болуы мүмкін қысқа бейнеролик жасайды.
- Ailoot · Бейне
POST /v1/videos/generationshappyhorse-1.1-i2v - Ailoot · Бейне
POST /v1/videos/generationshappyhorse-i2v - Ailoot · Бейне
POST /v1/videos/generationshappyhorse-i2v-latest
Модель туралы
Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.
HappyHorse-1.1-I2V — бейнесахнаны дайын суреттен бастайтын Alibaba моделі. Сурет бірінші кадрға айналады, ал мәтін кейінгі әрекетті: кейіпкер қозғалысын, сахнадағы өзгерістерді және камера бағытын анықтай алады. Бұл иллюстрацияны, заттың фотосуретін немесе алдын ала дайындалған визуалды тұжырымдаманы жандандыруға жарайды.
Мәтіндік сипаттама міндетті емес. Ол болмаса, модель бастапқы суреттің мазмұнына қарап ықтимал қозғалысты өзі анықтайды. Тапсырма нақты берілгенде бастапқы сурет композиция мен нысандардың сыртқы көрінісін белгілейді, ал сөздер сахнаның уақыт бойынша дамуын бағыттайды.
Бірінші кадрдан қозғалысқа
Alibaba кейіпкердің сыртқы көрінісін сақтауды, визуалды үйлесімділікті, қозғалыстың бірқалыптылығын және сурет пен дыбыстың үйлесуін атап көрсетеді. Мәлімделген бағыттардың қатарында жазулар мен текстуралардың тұрақтылығы да бар. Бұл қасиеттер модельдің көзделген мүмкіндіктеріне қатысты және барлық жасалған кадрда әрбір пиксельдің дәл сақталатынын білдірмейді.
Бұл режимде бір бастапқы сурет қолданылады. Ол жаңа композицияға арналған тәуелсіз үлгілер жиынын емес, бастапқы сахнаны белгілейді. Осы нақты нұсқа үшін жеке аяқтау кадрын тағайындау мүмкіндігі мәлімделмеген.
JPEG, JPG, PNG және WEBP қабылданады. Кіріс суреттің әр қабырғасы кемінде 300 пиксель болуы керек; рұқсат етілген арақатынас — 1:2,5-тен 2,5:1-ге дейін, файл өлшемі — 20 МБ-қа дейін. Дайын бейненің арақатынасы бірінші кадрға сәйкес келеді.
Ролик параметрлері
Ұзақтығы 3-тен 15 секундқа дейінгі бүтін санмен таңдалады. 480P, 720P және 1080P ажыратымдылық деңгейлері қолжетімді; шығыс форматы — MP4, жиілігі — секундына 24 кадр. Бейнеқатармен бірге дыбыстық сүйемелдеу жасау қолдау табады.
Сипаттама кез келген тілде беріле алады және қытайша емес 5000 немесе қытайша 2500 таңбаға дейін қамтиды. Шектен асса, артық бөлігі алынып тасталады, сондықтан маңызды әрекеттер мен қозғалыс ерекшеліктерін тапсырма көлеміне сыйғызу керек. Кездейсоқтықтың бірдей бастапқы мәні ұқсас роликтер беруі мүмкін, бірақ олардың кадр бойынша дәл сәйкес келуіне кепілдік бермейді.
Ailoot · Бейне POST /v1/videos/generations happyhorse-1.1-i2v
happyhorse-1.1-i2vhappyhorse-1.1-i2vhappyhorse-i2vhappyhorse-i2v-latest
Бастау
Суретті қозғалысқа келтіретін модель: бастапқы сурет бірінші кадрды белгілейді, ал сипаттама кейінгі қозғалысты бағыттайды. Дыбыстық сүйемелдеуі болуы мүмкін қысқа бейнеролик жасайды.
- Қабылданатын кіріс деректері
- Мәтін · Суреттер
- Нәтижелер
- Бейне
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot · Бейне POST /v1/videos/generations
- Кіріс
text,image- Шығыс
video- Шығыс пішімі
- mp4
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер happyhorse-1.1-i2v | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
Өрісduration | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 3 Ең көбі: 15 Бірлік: секунд | Әдепкі5 |
Өрісresolution | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 480P, 720P, 1080P | Әдепкі720P |
Өрісratio | Түріstring | ТалапҚолдау көрсетілмейді | Мәндер мен шектеулер | Әдепкі— |
Өрісimage_urls | Түріhttps_url|data_image_url[] | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 Элементтердің ең көп саны: 1 Декодталған байттардың ең көп саны: 20 971 520 MIME түрлері: image/jpeg, image/png, image/webp | Әдепкі— |
Кіріс материалдарының үйлесімдері
first_frame_to_video · Міндетті: image_urls
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрcontent_type | Параметр талаптарыapplication/json |
Параметрrequired | Параметр талаптарыmodel, image_urls |
Параметрmaterial_types | Параметр талаптарыtext, image |
Параметрoptional | Параметр талаптарыduration, resolution, ratio, prompt |
Параметрduration_integer_range | Параметр талаптары3, 15 |
Параметрdefault_duration | Параметр талаптары5 |
Параметрresolution | Параметр талаптары480P, 720P, 1080P |
Параметрdefault_resolution | Параметр талаптары720P |
Параметрratio | Параметр талаптары |
Параметрratio_must_omit | Параметр талаптарыtrue |
Параметрimage_urls | Параметр талаптары{"min_count":1,"max_count":1,"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_URL:?Set the HTTPS URL of your actual first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-i2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Set the actual HTTPS image URL")
p["image_urls"]=[u]
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-i2v, happyhorse-i2v, happyhorse-i2v-latest
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
Ailoot · Бейне POST /v1/videos/generations happyhorse-i2v
happyhorse-i2vhappyhorse-1.1-i2vhappyhorse-i2vhappyhorse-i2v-latest
Бастау
Суретті қозғалысқа келтіретін модель: бастапқы сурет бірінші кадрды белгілейді, ал сипаттама кейінгі қозғалысты бағыттайды. Дыбыстық сүйемелдеуі болуы мүмкін қысқа бейнеролик жасайды.
- Қабылданатын кіріс деректері
- Мәтін · Суреттер
- Нәтижелер
- Бейне
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot · Бейне POST /v1/videos/generations
- Кіріс
text,image- Шығыс
video- Шығыс пішімі
- mp4
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер happyhorse-i2v | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
Өрісduration | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 3 Ең көбі: 15 Бірлік: секунд | Әдепкі5 |
Өрісresolution | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 480P, 720P, 1080P | Әдепкі720P |
Өрісratio | Түріstring | ТалапҚолдау көрсетілмейді | Мәндер мен шектеулер | Әдепкі— |
Өрісimage_urls | Түріhttps_url|data_image_url[] | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 Элементтердің ең көп саны: 1 Декодталған байттардың ең көп саны: 20 971 520 MIME түрлері: image/jpeg, image/png, image/webp | Әдепкі— |
Кіріс материалдарының үйлесімдері
first_frame_to_video · Міндетті: 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_URL:?Set the HTTPS URL of your actual first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-i2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Set the actual HTTPS image URL")
p["image_urls"]=[u]
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-i2v, happyhorse-i2v, happyhorse-i2v-latest
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
Ailoot · Бейне POST /v1/videos/generations happyhorse-i2v-latest
happyhorse-i2v-latesthappyhorse-1.1-i2vhappyhorse-i2vhappyhorse-i2v-latest
Бастау
Суретті қозғалысқа келтіретін модель: бастапқы сурет бірінші кадрды белгілейді, ал сипаттама кейінгі қозғалысты бағыттайды. Дыбыстық сүйемелдеуі болуы мүмкін қысқа бейнеролик жасайды.
- Қабылданатын кіріс деректері
- Мәтін · Суреттер
- Нәтижелер
- Бейне
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot · Бейне POST /v1/videos/generations
- Кіріс
text,image- Шығыс
video- Шығыс пішімі
- mp4
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер happyhorse-i2v-latest | Әдепкі— |
Өрісprompt | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Ең аз ұзындық: 1 | Әдепкі— |
Өрісduration | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 3 Ең көбі: 15 Бірлік: секунд | Әдепкі5 |
Өрісresolution | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер 480P, 720P, 1080P | Әдепкі720P |
Өрісratio | Түріstring | ТалапҚолдау көрсетілмейді | Мәндер мен шектеулер | Әдепкі— |
Өрісimage_urls | Түріhttps_url|data_image_url[] | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 Элементтердің ең көп саны: 1 Декодталған байттардың ең көп саны: 20 971 520 MIME түрлері: image/jpeg, image/png, image/webp | Әдепкі— |
Кіріс материалдарының үйлесімдері
first_frame_to_video · Міндетті: 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_URL:?Set the HTTPS URL of your actual first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-i2v-latest", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
u=os.environ["AILOOT_IMAGE_URL"]
z=urlsplit(u)
if z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Set the actual HTTPS image URL")
p["image_urls"]=[u]
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-i2v, happyhorse-i2v, happyhorse-i2v-latest
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
FAQ · happyhorse-1.1-i2v
- Қандай кіріс деректері мен нәтижелер қолжетімді?
POST /v1/videos/generations·happyhorse-1.1-i2v:text,image→videoPOST /v1/videos/generations·happyhorse-i2v:text,image→videoPOST /v1/videos/generations·happyhorse-i2v-latest:text,image→video- Сұрау қандай өрістерді пайдаланады?
POST /v1/videos/generations·happyhorse-1.1-i2v:model,prompt,duration,resolution,image_urlsPOST /v1/videos/generations·happyhorse-i2v:model,prompt,duration,resolution,image_urlsPOST /v1/videos/generations·happyhorse-i2v-latest:model,prompt,duration,resolution,image_urls- Қандай шектеулер қолданылады?
POST /v1/videos/generations·happyhorse-1.1-i2v:duration.minimum:3;duration.maximum:15POST /v1/videos/generations·happyhorse-i2v:duration.minimum:3;duration.maximum:15POST /v1/videos/generations·happyhorse-i2v-latest:duration.minimum:3;duration.maximum:15