Перейти к основному содержанию
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3-omni",
    "prompt": "Make the person in <<<image_1>>> wave at the camera",
    "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3-omni",
    "prompt": "Make the person in <<<image_1>>> wave at the camera",
    "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}

Авторизация

Authorization
string
обязательно
Все эндпоинты API требуют аутентификации по Bearer TokenПолучение API-ключа:Перейдите на страницу управления API-ключами, чтобы получить свой API-ключДобавьте его в заголовок запроса:
Authorization: Bearer YOUR_API_KEY

Параметры запроса

model
string
обязательно
Название модели генерации видеоПоддерживаемые модели:
  • kling-v3-omni — Kling v3 Omni (единый интерфейс)
prompt
string
обязательно
Позитивный текстовый промптПоддерживает ссылки на изображения из image_urls через синтаксис <<<image_N>>>, где N начинается с 1.Пример: "Make the person in <<<image_1>>> wave at the camera"
Если изображения переданы, но промпт не содержит ни одной ссылки <<<image_N>>>, система автоматически добавит <<<image_1>>> в начало промпта.
negative_prompt
string
Негативный промпт для исключения нежелательного содержимого. Максимальная длина — 2500 символов.
mode
string
по умолчанию:"std"
Режим генерацииВарианты:
  • std — стандартный режим (720P)
  • pro — профессиональный режим (1080P)
  • 4k — режим 4K Ultra HD
По умолчанию: std
duration
integer
по умолчанию:"5"
По умолчанию: 5 Длительность видео (секунды)Диапазон: 3–15 (минимум 3 секунды, максимум 15 секунд)⚠️ Примечание: должно быть обычным числом (например, 6), без кавычек, иначе произойдёт ошибка
aspect_ratio
string
по умолчанию:"16:9"
Соотношение сторон видеоВарианты:
  • 16:9 — горизонтальное
  • 9:16 — вертикальное
  • 1:1 — квадратное
По умолчанию: 16:9
image_urls
array<url>
Массив URL изображений для ссылок на нихСсылайтесь на соответствующие изображения в промпте через синтаксис <<<image_N>>> (N начинается с 1)Пример: ["https://example.com/photo.jpg"]
  • URL изображений должны быть публично доступны без защиты от хотлинкинга
  • В режиме image-to-video параметр aspect_ratio может быть переопределён фактическим соотношением сторон изображения
image_with_roles
array<object>
Массив изображений с ролями, рекомендуется для image-to-video.Формат каждого элемента: { "url": "...", "role": "..." }
  • first_frame: первый кадр
  • last_frame: последний кадр
  • reference: референсное изображение
image_urls и image_with_roles взаимоисключаемы. Используйте только один из них.
video_list
array
Список референсных видео (на основе URL), до 1 видео.Используйте refer_type для различения типов:
  • base: видео для редактирования (по умолчанию)
  • feature: референсное видео для признаков
Используйте keep_original_sound для управления оригинальным звуком:
  • no: не сохранять (по умолчанию)
  • yes: сохранять оригинальный звук
Формат запроса:
"video_list":[
  { "video_url": "video_url", "refer_type": "base", "keep_original_sound": "no" }
]
  • video_url не может быть пустым, URL видео должен быть доступен
  • При refer_type=base:
    • Первый/последний кадры нельзя задавать
    • Длительность референсного видео должна быть 3–10 секунд
    • Длительность сгенерированного видео определяется загруженным видео
  • При refer_type=feature и непустом video_url:
    • image_urls может содержать только изображение первого кадра
  • Требования к видео: только MP4/MOV; длительность не менее 3 секунд; разрешение 720–2160 px; частота кадров 24–60 fps (на выходе 24 fps); размер не более 200 МБ
multi_shot
boolean
по умолчанию:"false"
Включать ли многокадровый режим.
shot_type
string
Способ разбивки на кадры: customize / intelligence.Обязателен при multi_shot=true.
multi_prompt
array<object>
Список многокадровых элементов, каждый элемент — { index, prompt, duration }.
  • Минимум 1 кадр, максимум 6 кадров
  • duration каждого кадра должна быть целым числом и >= 1
  • Сумма длительностей всех кадров должна равняться значению верхнего уровня duration
  • index должен начинаться с 1 и непрерывно возрастать
  • Обязателен при multi_shot=true и shot_type=customize
Пример:
[
  { "index": 1, "prompt": "a happy dog in running@element_cat", "duration": 3 },
  { "index": 2, "prompt": "a happy dog play with a cat@element_dog", "duration": 3 }
]
element_list
array<object>
Список референсных субъектов, до 3 субъектов. Поддерживает:
  • Создание субъектов «на лету» через name, description, element_input_urls
Общий формат:
[
  {
    "name": "element_dog",
    "description": "a golden retriever, fluffy fur, friendly expression",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  },
  {
    "name": "element_cat",
    "description": "an orange tabby cat, round face, bright eyes",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  }
]
Примечания:
  • Для создания «на лету» требуются name, description, element_input_urls
  • element_input_urls: 2–4 изображения на каждый субъект (первое — фронтальное, остальные — референсные)
  • Используйте @name в prompt, например "@element_dog and @element_cat are playing on the grass"
watermark
boolean
Добавлять ли водяной знак
audio
boolean
по умолчанию:"false"
Генерировать ли видео со звуком
Этот параметр взаимоисключаем с video_list.Когда video_list имеет значение, параметр audio не требуется.

Ограничения и границы параметров

  • image_urls и image_with_roles взаимоисключаемы
  • mode=4k доступен для kling-v3-omni
  • Ввод только последнего кадра (last_frame без первого кадра) недопустим
  • Первый/последний кадры и редактирование видео взаимоисключаемы: при video_list.refer_type=base (или его отсутствии) первый/последний кадры не допускаются
  • При наличии video_list параметр audio игнорируется
  • video_list поддерживает не более 1 видео
  • multi_prompt поддерживает до 6 кадров, index начинается с 1 и непрерывно возрастает

Синтаксис ссылок на изображения

Модель Omni использует синтаксис <<<image_N>>> для ссылок на изображения в промптах, обеспечивая единый интерфейс text-to-video / image-to-video:
СинтаксисОписание
<<<image_1>>>Ссылается на 1-е изображение в массиве image_urls
<<<image_2>>>Ссылается на 2-е изображение в массиве image_urls
Автоматическая ссылка: если image_urls передан, но в промпте нет ни одной ссылки <<<image_N>>>, система автоматически добавит <<<image_1>>> в начало промпта.

Ответ

code
integer
Код состояния ответа, 200 при успехе
data
array
Массив данных ответа

Сценарии использования

Сценарий 1: Текст в видео (стандартный режим)

{
  "model": "kling-v3-omni",
  "prompt": "A golden retriever running on the beach, sunset, cinematic",
  "mode": "std",
  "duration": 5,
  "aspect_ratio": "16:9"
}

Сценарий 2: Ссылка на изображение (одно изображение)

{
  "model": "kling-v3-omni",
  "prompt": "Make the person in <<<image_1>>> wave at the camera",
  "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
  "mode": "pro",
  "duration": 5
}

Сценарий 3: Ссылки на несколько изображений

{
  "model": "kling-v3-omni",
  "prompt": "The character in <<<image_1>>> walks toward the scene in <<<image_2>>>",
  "image_urls": [
    "https://example.com/character.jpg",
    "https://example.com/scene.jpg"
  ],
  "mode": "pro",
  "duration": 5
}

Сценарий 4: Изображение передано без явной ссылки (добавляется автоматически)

{
  "model": "kling-v3-omni",
  "prompt": "The person slowly turns and smiles",
  "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
  "mode": "std",
  "duration": 5
}
Система автоматически добавит <<<image_1>>> в начало промпта, что эквивалентно "<<<image_1>>>The person slowly turns and smiles".

Сценарий 5: Генерация видео со звуком

{
  "model": "kling-v3-omni",
  "prompt": "A yellow canary singing on a branch",
  "audio": true,
  "mode": "std",
  "duration": 5
}
Примечание: audio взаимоисключаем с video_list. Когда video_list имеет значение, параметр audio не требуется.
Получение результатов задачиГенерация видео — это асинхронная задача, при отправке возвращающая task_id. Используйте эндпоинт Получить статус задачи, чтобы узнать прогресс и результаты генерации.