Перейти к основному содержанию
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": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

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": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

Авторизация

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

Маршрутизация режимов

wan2.7 — единая точка входа для текст-в-видео и изображение-в-видео. Бэкенд автоматически определяет режим по входным параметрам. Оба режима тарифицируются одинаково:
УсловиеМаршрутизацияОписание режима
Любое из image_urls / image_with_roles / video_urls переданоImage-to-VideoПервый кадр / первый-последний кадр / продление видео
Ни один из перечисленных параметров не переданText-to-VideoГенерация видео исключительно по текстовому описанию

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

model
string
обязательно
Имя модели генерации видео, фиксированное значение wan2.7
prompt
string
Описание содержания видео, до 5000 символов
  • Режим Text-to-Video (без изображения/видео): обязательный
  • Режим Image-to-Video: опциональный, но рекомендуется для управления движением камеры и действиями
Пример: "A cat chasing butterflies on the grass, bright sunshine, slow motion"
image_urls
array<string>
Массив URL изображений. Передача автоматически активирует режим Image-to-Video
  • 1 изображение: первый кадр для видео
  • 2 изображения: первый и последний кадр для видео (1-е = первый кадр, 2-е = последний кадр)
Используйте либо это поле, либо image_with_roles
image_urls конфликтует с audio_url; их нельзя передавать одновременно
image_with_roles
array<object>
Массив изображений с ролями, альтернатива image_urls, для точного указания роли каждого изображенияПоля каждого объекта:
  • url (string): URL изображения (поддерживает http/https)
  • role (string): роль изображения, first_frame / last_frame, по умолчанию first_frame
Пример:
[
  { "url": "https://cdn.example.com/start.jpg", "role": "first_frame" },
  { "url": "https://cdn.example.com/end.jpg", "role": "last_frame" }
]
image_with_roles конфликтует с audio_url; их нельзя передавать одновременно
video_urls
array<string>
Массив URL видео. Передача активирует режим продления видео (используется только 1-е видео)
video_urls конфликтует с audio_url; их нельзя передавать одновременно
Ограничения видео:
  • Формат: mp4, mov
  • Длительность: 2–10 с
  • Разрешение: ширина и высота в диапазоне [240, 4096] пикселей
  • Соотношение сторон: 1:8 – 8:1
  • Размер файла: до 100 МБ
negative_prompt
string
Негативный промпт, описывающий нежелательное содержание, до 500 символовПример: "blurry, distorted, low quality"
resolution
string
по умолчанию:"1080P"
Разрешение видеоВарианты:
  • 720P — стандартное
  • 1080P — высокая чёткость (по умолчанию)
duration
integer
по умолчанию:"5"
Длительность видео (секунды)Поддерживаемый диапазон: 215 секундПо умолчанию: 5
size
string
по умолчанию:"16:9"
Соотношение сторон, действует только в режиме Text-to-Video (без изображения/видео)Поддерживаемые форматы:
  • 16:9 — широкоэкранный пейзаж (по умолчанию)
  • 9:16 — портрет
  • 1:1 — квадрат
  • 4:3 — пейзаж
  • 3:4 — портрет
Этот параметр игнорируется в режиме Image-to-Video; соотношение сторон автоматически определяется входным изображением
audio_url
string
URL пользовательского аудио
  • Режим Text-to-Video: используется как фоновая музыка
  • Режим Image-to-Video: используется как управляющее аудио, синхронизированное с действиями на экране
Формат: wav / mp3, длительность 2–30 секунд, размер файла ≤ 15 МБ
audio_url конфликтует с video_urls, image_urls и image_with_roles; их нельзя передавать одновременно
prompt_extend
boolean
по умолчанию:"true"
Включить ли интеллектуальное переписывание промптаЗначительно улучшает результаты для коротких промптов, но увеличивает время обработкиПо умолчанию: true
watermark
boolean
по умолчанию:"false"
Добавлять ли водяной знак «AI Generated» к сгенерированному видео
  • true: добавить водяной знак
  • false: без водяного знака (по умолчанию)
seed
integer
Целое число — зерно для управления случайностью генерируемого содержимогоДиапазон: целое ≥ 0
  • Для идентичных запросов модель генерирует разные результаты при разных значениях seed (например, при пропуске seed)
  • Для идентичных запросов модель генерирует похожие результаты при одинаковом значении seed, но точное совпадение не гарантируется

Ответ

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

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

Сценарий 1: Текст в видео (простейший запрос)

{
  "model": "wan2.7",
  "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel"
}

Сценарий 2: Текст в видео (полный набор параметров)

{
  "model": "wan2.7",
  "prompt": "A cat chasing butterflies on the grass, bright sunshine, slow motion",
  "negative_prompt": "blurry, distorted, low quality",
  "resolution": "1080P",
  "duration": 8,
  "size": "16:9",
  "audio_url": "https://cdn.example.com/bgm.mp3",
  "prompt_extend": true,
  "watermark": false,
  "seed": 42
}

Сценарий 3: Первый кадр для видео

{
  "model": "wan2.7",
  "prompt": "The character slowly stands up and walks toward the camera",
  "image_urls": ["https://cdn.example.com/person.jpg"],
  "resolution": "1080P",
  "duration": 8
}

Сценарий 4: Первый и последний кадр для видео

{
  "model": "wan2.7",
  "prompt": "The camera pans slowly from the beach to the mountaintop",
  "image_urls": [
    "https://cdn.example.com/beach.jpg",
    "https://cdn.example.com/mountain.jpg"
  ],
  "resolution": "1080P",
  "duration": 10
}
При 2 изображениях: 1-е — первый кадр, 2-е — последний. Также можно использовать image_with_roles для точного указания.

Сценарий 5: Продление видео

{
  "model": "wan2.7",
  "prompt": "Continue walking forward, camera follows",
  "video_urls": ["https://cdn.example.com/clip.mp4"],
  "resolution": "1080P",
  "duration": 8
}

Сценарий 6: Изображение + управляющее аудио

{
  "model": "wan2.7",
  "prompt": "The character moves to the rhythm of the music",
  "image_urls": ["https://cdn.example.com/dancer.jpg"],
  "audio_url": "https://cdn.example.com/beat.mp3",
  "resolution": "1080P",
  "duration": 8
}

Руководство по выбору режима

ТребованиеРекомендуемый подход
Сгенерировать видео только по текстуПередайте только prompt (без изображения/видео)
Сделать изображение «оживающим»Передайте 1 изображение в image_urls
Управлять начальным и конечным кадромПередайте 2 изображения в image_urls (первый + последний)
Продлить существующее видеоПередайте видео в video_urls
Заставить изображение двигаться под музыкуПередайте изображение + audio_url
Запрос результатов задачиГенерация видео — асинхронная задача, которая при отправке возвращает task_id. Используйте эндпоинт Получение статуса задачи для запроса прогресса и результатов генерации.