Kling: Video O1
Kling VIDEO O1 — референсная видеомодель Kuaishou для создания и редактирования сцен по тексту, изображениям, элементам объектов и исходному клипу. Профиль генерации от трёх до десяти секунд подходит для визуальной непрерывности, управляемых кадровых переходов и точечных изменений готового материала.
О модели
Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.
Kling VIDEO O1 — единая референсная видеомодель Kuaishou. Она сочетает текст с изображениями, подготовленными элементами объектов или исходным видео для новых сцен и точечных правок. Основной интерфейс — визуальное задание: назовите материал, его роль и нужные внешность, действие или преобразование результата.
Новый план начинается с текста, первого изображения или набора референсов. Изображением задайте персонажа или предмет, словами — окружение, действие и точку зрения. Если референсы дают разные черты, явно назначьте роли. Например, возьмите продукт из одного изображения, окружение из другого и опишите движение предмета в этой среде.
Промпт O1 обозначает изображения, элементы и видео специальными маркерами, например <<<image_1>>> или <<<video_1>>>. Связывайте маркеры с реально переданным материалом, объясняйте переносимые свойства. Лимит промпта — 2 500 символов. Краткая инструкция с объектом и изменением полезнее несвязанных стилевых терминов.
Без видео документированный совокупный бюджет — до семи референсных изображений и элементов, составленных из нескольких изображений, суммарно. С видеореференсом бюджет изображений/элементов — четыре. Пределы относятся к элементам на основе изображений; другие типы имеют отдельную совместимость. Выбирайте существенные сведения о внешности или сцене вместо заполнения бюджета лишними ракурсами.
Изображения: JPG, JPEG или PNG, доступный URL или данные, до 10 MB, размеры минимум 300 пикселей, отношение между 1:2.5 и 2.5:1. Готовьте ясные объекты с важными деталями в кропе. Для узнаваемого персонажа или продукта назовите сохраняемые признаки и проверяйте весь клип.
Первый и последний кадры задают переход между визуальными границами. В O1 при последнем кадре требуется первый; управление границами не поддерживается с массивом более двух изображений. При обеих границах дополнительные элементы объектов не входят в эту конфигурацию. Отделяйте кадровое управление от редактирования базового видео.
Исходное видео имеет две роли. Базовый клип — редактируемый материал: задайте добавление, удаление, стиль или композицию и сохранение остального. Правка следует исходной длительности и не сочетается с граничными кадрами или многоплановой генерацией. Референс признаков — источник содержания, стиля или камеры для нового плана.
Промпт по видеореференсу также запрашивает предыдущий или следующий план. Назовите клип и новое событие, например продолжение действия или раскрытие окружения. Референс передаёт визуальную информацию; перед сборкой проверяйте стык и непрерывность объекта.
Профиль видеовхода принимает один MP4 или MOV до 200 MB и минимум трёх секунд. Подробный профиль задаёт 720–2160 пикселей, 24–60 fps и отношение между 1:2.5 и 2.5:1. Этот сценарий возвращает 24 fps. Допустимая длительность также зависит от профиля модели. Новая генерация O1 — от трёх до десяти секунд, отдельно от более позднего диапазона 3.0 Omni.
Режимы O1 дают 720p Standard или 1080p Pro. Кадрирование нового плана поддерживает документированные горизонтальные, вертикальные и квадратные варианты там, где сценарий использует настройку; базовая правка следует исходному кадру. Звук исходника сохраняется или отбрасывается. Референсный и монтажный сценарии O1 отделены от встроенного аудио и пользовательской раскадровки поздней 3.0 Omni.
Генерация создаёт задачу с видео и фактической длительностью в завершённом результате. Документация говорит об удалении видео через 30 дней, поэтому сохраняйте клип своевременно. Храните исходники и задание, проверяйте изменение, референсы и непрерывность. В правке сравнивайте затронутую область и сохраняемые части; в новом плане — вклад каждого источника. Держите клип доступным для следующего монтажа или производственной последовательности.
Ailoot Ultra · Видео POST /v1/videos kwaivgi/kling-video-o1
kwaivgi/kling-video-o1Начало
Kling VIDEO O1 — референсная видеомодель Kuaishou для создания и редактирования сцен по тексту, изображениям, элементам объектов и исходному клипу. Профиль генерации от трёх до десяти секунд подходит для визуальной непрерывности, управляемых кадровых переходов и точечных изменений готового материала.
- Допустимые входные данные
- Текст · Картинки
- Результаты
- Видео
Доступно в Ailoot · входные данные и методы
Ailoot Ultra · Видео POST /v1/videos
- Входные данные
text,image- Результат
video- Выходной формат
- Исходные байты MP4; без нормализации и перекодирования
| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
|---|---|---|---|---|
Полеmodel | Типstring | ТребованиеОбязательно | Значения и ограничения kwaivgi/kling-video-o1 | По умолчанию— |
Полеprompt | Типstring | ТребованиеОбязательно | Значения и ограничения | По умолчанию— |
Полеduration | Типinteger | ТребованиеОбязательно | Значения и ограничения 5, 10 Минимум: 1 Максимум: 600 | По умолчанию— |
Полеresolution | Типstring | ТребованиеНеобязательно | Значения и ограничения 720p | По умолчанию— |
Полеaspect_ratio | Типstring | ТребованиеНеобязательно | Значения и ограничения 16:9, 9:16, 1:1 | По умолчанию— |
Полеgenerate_audio | Типboolean | ТребованиеНеобязательно | Значения и ограничения false, true | По умолчанию— |
Полеframe_images | Типarray | ТребованиеНеобязательно | Значения и ограничения Минимум элементов: 1 Максимум элементов: 2 Входное содержимое: Массив объектов кадров. Каждый объект содержит type=image_url, image_url с url и frame_type. Используйте HTTPS URL изображения и укажите first_frame или last_frame в frame_type. Каждая роль кадра встречается не более одного раза. Точные ключи: type, image_url, frame_type Условия: Эти ключи описывают каждый объект кадра; image_url содержит только url. Не передавайте frame_images для запроса только с текстом. | По умолчанию— |
Полеinput_references | Типarray | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеsize | Типstring | ТребованиеНеобязательно | Значения и ограничения 1280x720, 720x1280, 720x720 Шаблон: ^[1-9][0-9]*x[1-9][0-9]*$ | По умолчанию— |
Полеcallback_url | Типstring | ТребованиеНеобязательно | Значения и ограничения Шаблон: ^https:// | По умолчанию— |
Полеsession_id | Типstring | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеtrace | Типobject | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Полеuser | Типstring | ТребованиеНеобязательно | Значения и ограничения | По умолчанию— |
Сочетания входных материалов
Из текста в видео · Текстовый запрос. · Обязательно: model, prompt, duration
Передайте prompt как текст, а duration — как целое число секунд. Выберите поддерживаемое разрешение; добавьте соотношение сторон или используйте размер из списка.
model: Тип: string · kwaivgi/kling-video-o1
prompt: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да
Из изображения в видео · Текстовый запрос и изображение первого кадра. · Обязательно: model, prompt, duration, frame_images
frame_images — массив. Каждый объект кадра содержит type, image_url и frame_type; image_url содержит url. Укажите image_url в type. Используйте first_frame с необязательным last_frame. Каждая роль кадра встречается не более одного раза. Для каждого кадра укажите публичный HTTPS URL изображения. Выберите поддерживаемое разрешение; добавьте соотношение сторон или используйте размер из списка.
Точные ключи: type, image_url, frame_type
model: Тип: string · kwaivgi/kling-video-o1
prompt: Тип: string · Максимум байтов UTF-8: 10 000 · Нужен хотя бы один непробельный символ: Да
Параметры и жизненный цикл метода
| Параметр | Контракт |
|---|---|
Параметрcontent_type | Контрактapplication/json |
Параметрrequired | Контрактmodel, prompt, duration |
Параметрmaterial_types | Контрактtext, image |
Параметрadditional_properties | Контрактfalse |
Параметрoptional_controls | Контрактresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
Жизненный цикл: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Тарифы
Как рассчитывается итоговая плата
Отображаемые тарифы позволяют оценить стоимость до генерации. Итоговое списание рассчитывается по стоимости, записанной для исходной генерации. Измеренная длительность результата и прогнозные объёмы не являются итоговым оплачиваемым объёмом.
Тарифная справка не добавляет режимы запроса. Поддерживаемые параметры указаны для выбранного метода.
- Быстрый режим
- Не указано При выборе быстрого режима
- Режим flex
- Не указано При выборе режима flex
- Максимальная интенсивность рассуждений
- Не указано При максимальной интенсивности рассуждений с корректировкой по умолчанию (default)
Оценочные ставки для сравнения
Цены по конфигурациям
Сопоставьте каждую плату с указанными условиями. Для каждого набора альтернативных конфигураций используйте одну ставку.
| Конфигурация | Шкала ставок | Прогноз количества | Расчётная единица | Условия расчёта | Плата |
|---|---|---|---|---|---|
| КонфигурацияБазовые тарифы на токены | Шкала ставокБазовая ставка | Прогноз количества— | Расчётная единица— | Условия расчёта— | Плата Вход · Входные токены · Оценка только для сравнения — / 1K токенов Выход · Выходные токены · Оценка только для сравнения — / 1K токенов Вход · Чтение кэша · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш · Оценка только для сравнения — / 1K токенов Вход · Запись в кэш, 1 час · Оценка только для сравнения — / 1K токенов |
| КонфигурацияЦена видео | Шкала ставок— | Прогноз количества— | Расчётная единицаза секунду видео | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Выход · Цена видео · Оценка только для сравнения $0.224 за секунду видео |
| КонфигурацияОриентировочная стоимость генерации | Шкала ставок— | Прогноз количестваОценка для одной генерации | Расчётная единица— | Условия расчёта— | Плата Выход · Оценочная стоимость генерации · Оценка только для сравнения $1.12 оценка до генерации Эта оценка не является дополнительным списанием или фиксированным тарифом для завершённой генерации. |
Ailoot резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. Как работают резервирование и расчёт →
Сведения о справочном тарифе
Справочные шкалы модели не меняют выбор метода, расчёт стоимости или списания. Действующая плата определяется ставками выбранного метода Ailoot.
Ссылки на цены конфигураций видео
Цены по конфигурациям
| Конфигурация | Условия расчёта | Плата |
|---|---|---|
| КонфигурацияЦена видео | Условия расчётаВ этом ключе цены дополнительное условие не объявлено. | Плата Выход · Цена видео $0.224 за секунду видео Опубликованный ориентир цены для показанной конфигурации. Итоговые списания зависят от фактической оплачиваемой конфигурации. |
Примеры запросов
Ailoot Ultra · Видео
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":5,"model":"kwaivgi/kling-video-o1","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Получить и сохранить результаты
Ailoot Ultra · Видео
подписанные ссылки на содержимое, принадлежащее Ailoot
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Проверить статус задачи
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Чтение другого содержимого
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Сохраняйте все готовые результаты
Сохраните каждое готовое видео или полученный файл; загрузите содержимое по каждому фактически полученному URL материала.
Сохраняйте каждый фактический результат, принадлежащий Ailoot, и возвращённые измеренные метаданные.
Если нужно проверить исходный ответ
503 result_pending_check + исходный id + X-Should-Retry:false; никогда не отправляйте исходный запрос повторно
Поля ответа
| Поле | Тип | Значение |
|---|---|---|
Полеindex | Типinteger | ЗначениеПозиция этого видео в списке результатов, начиная с нуля. |
Полеcontent_url | Типstring | ЗначениеПодписанный HTTPS URL для скачивания этого готового видео. |
Полеsha256 | Типstring | null | ЗначениеХэш SHA-256 исходных байтов видео; null, если недоступен. |
Полеsize_bytes | Типinteger | null | ЗначениеРазмер исходного видеофайла в байтах; null, если недоступен. |
Полеduration_ms | Типinteger | null | ЗначениеИзмеренная длительность видео в миллисекундах; null, если недоступна. |
Полеwidth | Типinteger | null | ЗначениеШирина видео в пикселях; null, если недоступна. |
Полеheight | Типinteger | null | ЗначениеВысота видео в пикселях; null, если недоступна. |
Полеvideo_codec | Типstring | null | ЗначениеИдентификатор видеокодека; null, если не записан. |
Полеhas_audio | Типboolean | null | ЗначениеЕсть ли у видео аудиодорожка; null, если не измерено. |
Полеaudio_codec | Типstring | null | ЗначениеИдентификатор аудиокодека; null, если идентификатор не записан. |
Ошибки и дальнейшие шаги
| Ответ | Условие | Следующий шаг |
|---|---|---|
Ответ404 · not_found_error | УсловиеДоступ к видео недоступен либо этот ID видео не найден. | Следующий шагПроверьте доступ к видео. Для существующего видео используйте исходный публичный ID и тот же ключ API. |
Ответ401 · authentication_error | УсловиеКлюч API не соответствует авторизованному аккаунту. | Следующий шагПеред отправкой проверьте ключ API и доступ к аккаунту. |
Ответ400 · invalid_request_error | УсловиеНе удалось прочитать запрос либо индекс скачивания недопустим. | Следующий шагИсправьте тело запроса. Для скачивания выберите индекс результата, возвращённый исходной задачей. |
Ответ422 · price_unavailable | УсловиеНевозможно определить цену выбранной конфигурации видео. | Следующий шагВыберите поддерживаемую конфигурацию видео и заполните обязательные параметры перед отправкой исправленного запроса. |
Ответ422 · invalid_request_error | УсловиеНедопустимы входное видео или исходная задача продолжения. | Следующий шагИспользуйте корректные входные HTTPS-ссылки. Для продолжения используйте исходный публичный ID вашего готового видео и тот же ключ API. |
Ответ402 · billing_error | УсловиеДоступный баланс или лимиты не позволяют зарезервировать средства. | Следующий шагПеред отправкой нового запроса проверьте доступный баланс и лимиты. |
Ответ503 · server_error | УсловиеПроверка видео, хранилище или доступ к сервису временно недоступны. | Следующий шагДождитесь доступности сервиса. Если у вас уже есть ID видео, проверяйте ту исходную задачу вместо создания новой генерации. |
Ответ503 · result_pending_check | УсловиеНужно проверить результат исходного видео и начисление. | Следующий шагСохраните возвращённый ID видео и проверьте эту задачу. Не отправляйте заменяющий запрос на генерацию, пока идёт проверка. |
Ответ503 · owned_result_unavailable | УсловиеСкачивание существующего видео временно недоступно. | Следующий шагПроверьте ту же видеозадачу позже и скачайте её существующий результат. Новая генерация создаёт отдельную операцию. |
Ответ409 · video_not_ready | УсловиеСодержимое видео не опубликовано. | Следующий шагПроверьте исходный статус задачи. Скачайте результат после completed; при failed следуйте уведомлению о проверке начисления. |
Псевдонимы
Псевдонимы моделей
Ailoot Ultra kwaivgi/kling-video-o1
Псевдонимы путей метода
Используйте пути методов, указанные выше.
Связанные ID для вызова
FAQ · Kling: Video O1
- Какие входные данные и результаты доступны?
POST /v1/videos·kwaivgi/kling-video-o1:text,image→video- Какие поля использует запрос?
POST /v1/videos·kwaivgi/kling-video-o1:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,callback_url,session_id,trace,user- Какие ограничения действуют?
POST /v1/videos·kwaivgi/kling-video-o1:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1