Kling v1.5
Kling v1.5 — видеомодель с документированным сценарием создания видео из изображения. Начните с подготовленного статичного кадра и опишите движение, ракурс и финальную композицию для короткого плана с персонажем, предметом или окружением.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Kling v1.5 — версия видеомодели Kling, для которой в документированном каталоге указана возможность создания видео из изображения. Предоставленный статичный кадр задаёт визуальную отправную точку, а текстовое задание описывает движение сцены. Используйте модель, чтобы создать жест персонажа, движение предмета или изменение окружения на основе изображения, композиция которого уже подходит для нужного плана.
Подготовьте изображение так, чтобы важные детали главного объекта были хорошо видны. У персонажа должны отчётливо читаться лицо, поза и одежда, у предмета — контур и особенности материала. Оставьте в композиции место для задуманного движения. Храните исходный кадр вместе с готовой последовательностью, чтобы напрямую оценивать изменения внешнего вида.
Опишите действие как наблюдаемое событие. Например, сидящий человек поворачивается к окну или тканевая лента колышется на лёгком ветру. Укажите направление и желаемый финал. Если в кадре несколько объектов, уточните, какой из них действует, а какие остаются на месте.
Объясните роль камеры. Неподвижный ракурс позволяет внимательно рассмотреть небольшой жест, а движущийся — показать сцену с новой стороны. Опишите это движение относительно главного объекта. Просьба приблизить камеру к объекту и просьба заставить объект приблизиться к камере задают разные визуальные намерения.
В документированном описании создания видео из изображения указаны длительности 5 и 10 секунд, режимы std и pro, а также горизонтальный, вертикальный и квадратный форматы кадра. Перед оценкой результата выберите параметры, доступные в выбранном сценарии работы. При сравнении вариантов храните фактически выбранные режим, длительность и форму кадра вместе с исходным изображением и промптом.
Для демонстрации предмета определите визуальную особенность, которую должно раскрыть движение. Это может быть отражающая поверхность, складка материала или форма ручки. Сосредоточьте действие так, чтобы важная особенность оставалась видимой. Оценивайте предмет на протяжении всего движения и в финальном ракурсе, который будет использован при монтаже.
Для сцены с персонажем опишите один значимый жест и положение персонажа относительно ближайших предметов. Проследите, как во времени меняются лицо, руки, одежда и пропорции тела. Проверьте, достигает ли жест задуманного завершения и сохраняется ли согласованное расположение элементов переднего и заднего планов.
Сохраните полный сгенерированный клип и исходные материалы. Рассмотрите начало, основное действие и финал как единую последовательность, затем вносите правки вокруг конкретного несоответствия. Заметка вроде «персонаж отворачивается от окна» даёт следующему заданию определённую поправку, сохраняя остальную сцену.
Ailoot Ultra · Video POST /v1/videos kling-v1-5
kling-v1-5Начало
Kling v1.5 — видеомодель с документированным сценарием создания видео из изображения. Начните с подготовленного статичного кадра и опишите движение, ракурс и финальную композицию для короткого плана с персонажем, предметом или окружением.
- Допустимые входные данные
- Текст · Картинки
- Результаты
- Видео
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Video POST /v1/videos
- Входные данные
text,image- Результат
video
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения kling-v1-5 Условия: Используйте этот селектор маршрутизации Ailoot в точности. | По умолчанию— |
Полеmode | Типstring | ТребованиеНеобязательно | Значения и ограничения std, pro Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано. | По умолчаниюstd |
Полеaspect_ratio | Типstring | ТребованиеНеобязательно | Значения и ограничения 16:9, 9:16, 1:1 Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано. | По умолчанию— |
Полеduration | Типinteger | ТребованиеНеобязательно | Значения и ограничения 5, 10 Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано. | По умолчанию— |
Полеend_image | Типstring | ТребованиеНеобязательно | Значения и ограничения Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано. | По умолчанию— |
Полеimage | Типstring or array<string> | ТребованиеОбязательно | Значения и ограничения Условия: Укажите фактический доступный URL вашего изображения. Список принимается только там, где схема параметра предусматривает массив. | По умолчанию— |
Полеnegative_prompt | Типstring | ТребованиеНеобязательно | Значения и ограничения Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано. | По умолчанию— |
Полеprompt | Типstring | ТребованиеОбязательно | Значения и ограничения Условия: Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано. | По умолчанию— |
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, prompt, image |
Параметрoptional | Контрактmode, aspect_ratio, duration, end_image, negative_prompt |
Параметрmaterial_types | Контрактtext, image |
Параметрconditions | КонтрактИспользуйте этот селектор маршрутизации Ailoot в точности., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Укажите фактический доступный URL вашего изображения. Список принимается только там, где схема параметра предусматривает массив., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано., Используйте документированное поле выбранной модели и перечисленные варианты; не передавайте необязательное значение, если оно не задано. |
Псевдонимы метода: /v1/videos/generations
Жизненный цикл: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Тарифы
Как рассчитывается итоговая плата
Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Оценочные ставки для сравнения
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Прогноз количества | Плата |
|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Плата Вход · Входные токены · Оценка только для сравнения — / 1K токенов Выход · Выходные токены · Оценка только для сравнения — / 1K токенов Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $6 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Примеры запросов
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "kling-v1-5", "prompt": "A cat is walking on grass.", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
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 \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
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())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Получить и сохранить результаты
Ailoot Ultra · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Сохраняйте все готовые результаты
Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.
Сохраните полный ответ и заголовки, исходные идентификаторы, каждый фактический результат и все поля использования и учёта. Сохраните каждый уникальный ресурс, принадлежащий Ailoot, и каждую роль, которая на него ссылается.
Если нужно проверить исходный ответ
Сохраните возвращённый публичный id задачи или операции и все заголовки. Проверяйте только исходную задачу; unknown или result_pending_check не разрешают создавать новую.
Поля ответа
| Поле | Тип |
|---|---|
Полеid | Типstring |
Полеpolling_url | Типstring |
Полеprovider_task_id | Типstring |
Полеtask_id | Типstring |
Полеstatus | Типstring |
Полеvideo_url | Типstring |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ400 · invalid_request_error | УсловиеОбязательное поле, селектор модели, тип или представление входных данных недопустимы. | Следующий шагИзучите возвращённые сведения о проверке данных перед подготовкой отдельного запроса. |
Ответ | УсловиеИсходный запрос или результат неизвестен либо требует проверки. | Следующий шагСохраните исходные идентификаторы и заголовки; читайте только поддерживаемые записи статуса или библиотеки. Не отправляйте запрос на создание повторно. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra kling-v1-5
Псевдонимы путей метода
/v1/videos/generations
Связанные ID для вызова
FAQ · Kling v1.5
- Какие входные данные и результаты доступны?
POST /v1/videos·kling-v1-5:text,image→video- Какие поля использует запрос?
POST /v1/videos·kling-v1-5:model,mode,aspect_ratio,duration,end_image,image,negative_prompt,prompt