Source: https://ailoot.ai/models/ru/kling-v2-1/
Canonical: https://ailoot.ai/models/ru/kling-v2-1/
Language: ru

# Kling v2.1

[Markdown](https://ailoot.ai/models/ru/kling-v2-1/index.md) · [JSON](https://ailoot.ai/models/ru/kling-v2-1/facts.json)

## [Kling v2.1](https://ailoot.ai/models/ru/kling-v2-1/)

Kling v2.1 создаёт видео по референсному изображению и текстовому заданию на движение. В документированном описании создания видео из изображения указаны длительности 5 и 10 секунд, а также режимы std и pro для планирования последовательности.

- [**Ailoot Ultra · Video** `POST /v1/videos` `kling-v2-1`](https://ailoot.ai/models/ru/kling-v2-1/#method-0)

О модели

Описание раскрывает возможности модели. Доступные в Ailoot входные данные, результаты и параметры выбранного метода перечислены ниже.

Kling v2.1 — видеомодель Kling, для которой в документированном каталоге указано создание видео из изображения. Начните с референсного статичного кадра, задающего сцену, затем опишите движение, которое превратит его в нужный видеоплан. Изображение товара, иллюстрированное окружение или кадр с персонажем могут задать композицию, из которой развивается последовательность.

Выберите референс, по которому легко понять задуманное действие. Персонаж рядом с дверью даёт понятную отправную точку для входа в комнату; предмет на незагромождённой поверхности позволяет лучше рассмотреть его контур. Сохраните референс в исходном качестве и храните его вместе со сгенерированным клипом.

Опишите одно связное действие. Укажите действующий объект, направление движения и желаемое конечное состояние. Для взаимодействия объясните связь между участниками: кто тянется, к чему прикасается и где заканчивается действие. Используйте видимые детали, которые можно проверить в полученной последовательности.

Выстройте кадр с учётом места его использования. В документированном описании создания видео из изображения указаны горизонтальные, вертикальные и квадратные пропорции, а также длительности 5 и 10 секунд. Определите, где главный объект должен оставаться внутри выбранного кадра. Вертикальная композиция и широкий общий план предъявляют разные требования к одному и тому же движению.

Документированные параметры создания видео из изображения включают режимы генерации std и pro. При сравнении вариантов храните выбранный режим вместе с результатом. Оценивайте видео по заданию: нужному действию, композиции, внешнему виду главного объекта и времени развития событий. Само название режима не показывает, насколько конкретный план отвечает этим требованиям.

Используйте указания для камеры, чтобы поддержать событие. Неподвижная камера может показать изменение позы, движение вбок — раскрыть обстановку, а движение вперёд — подчеркнуть деталь. Укажите желаемую связь между объектом и точкой съёмки, чтобы движение камеры не конкурировало с действием, за которым должен следить зритель.

Проверьте непрерывность всего клипа. Для товара проследите за формой, маркировкой и видом материала при смене ракурса. Для человека проверьте черты лица, руки, одежду и контакт с ближайшими предметами. Оцените финальную композицию в контексте следующего плана или графического элемента в монтаже.

Сохраняйте готовое видео, референс, промпт и выбранные параметры как единую запись о плане. При доработке определите конкретное визуальное несоответствие и сохраните части, которые уже подходят сцене. Сравнивайте варианты при одинаковых размере изображения и скорости воспроизведения, чтобы выбор отражал движение и композицию, которые действительно увидит зритель.

**Ailoot Ultra · Video** `POST /v1/videos` `kling-v2-1`

[`kling-v2-1`](https://ailoot.ai/models/ru/#m=kling-v2-1&route=Ultra&caller=kling-v2-1&fmt=videos)

Kling /`kling-v2-1`

### Начало

Kling v2.1 создаёт видео по референсному изображению и текстовому заданию на движение. В документированном описании создания видео из изображения указаны длительности 5 и 10 секунд, а также режимы std и pro для планирования последовательности.

Допустимые входные данные

Текст · Картинки

Результаты

Видео

### Доступно в Ailoot · входные данные и методы

**Ailoot Ultra · Video** `POST /v1/videos`

Входные данные

`text`, `image`

Результат

`video`

| Поле | Тип | Требование | Значения и ограничения | По умолчанию |
| --- | --- | --- | --- | --- |
| Поле`model` | Тип`string` | ТребованиеОбязательно | Значения и ограничения kling-v2-1 Условия: Используйте этот селектор маршрутизации 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 резервирует расчётную сумму перед запросом. После получения результата списывает итоговую плату по измеренному расходу. Для окончательного списания за потоковый ответ используется итоговая запись расхода. [Как работают резервирование и расчёт →](https://ailoot.ai/docs/ru/billing/reserve/)

### Примеры запросов

#### Ailoot Ultra · Video

curl · создать один раз и сохранить полный результатПрочитать исходную задачуСохранить каждый готовый материал, принадлежащий вам

```bash
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-v2-1", "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.
```

```bash
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
```

```bash
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}/content`
- `GET /v1/media/assets`
- `GET /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-v2-1`](https://ailoot.ai/models/ru/#m=kling-v2-1&route=Ultra&caller=kling-v2-1&fmt=videos)

#### Псевдонимы путей метода

`/v1/videos/generations`

#### Связанные ID для вызова

[`kling-v2-1`](https://ailoot.ai/models/ru/#m=kling-v2-1&route=Ultra&caller=kling-v2-1&fmt=videos)

FAQ · Kling v2.1

Какие входные данные и результаты доступны?

`POST /v1/videos` · `kling-v2-1`: `text`, `image` → `video`

Какие поля использует запрос?

`POST /v1/videos` · `kling-v2-1`: `model`, `mode`, `aspect_ratio`, `duration`, `end_image`, `image`, `negative_prompt`, `prompt`

Подключите Ailoot к Claude Code, OpenCode, Hermes или своему приложению.

## Компания и портфель её проектов

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

## Покупайте токены со скидкой.

Скидка по подписке для регулярной работы. Промокоды — до 50% на покупку токенов.

Подписка

Выберите тариф со скидкой для своих регулярных запросов.

Промокод до 50%

Введите код при покупке. Цена пересчитается с учётом действующей акции.

Расходы в истории

Модель, токены и сумма сохраняются для каждого запроса.

[Выбрать подписку](https://ailoot.ai/docs/ru/billing/subscriptions/) · [Посмотреть цены моделей](https://ailoot.ai/models/ru/)

## Подключайте API к продукту, который вы продаёте.

SaaS, приложения и боты — по оферте и лицензионному договору Ailoot. Для перепродажи запросите реселлерскую лицензию.

Коммерческое приложение

Встраивайте генерацию текста, картинок, видео и звука в платные функции своего сервиса.

Лицензия для реселлера

Пришлите описание проекта и схему доступа. Запросите письменные условия использования и перепродажи.

Документы на сайте

Оферта, лицензионный договор и политика обработки данных доступны до подключения.

[Запросить реселлерскую лицензию](mailto:support@ailoot.ai) · [Оферта и лицензионный договор](https://ailoot.ai/legal/offer?lang=ru)

## Ailoot · Компания и портфель её проектов





Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.





Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.





Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.
