curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "wan2.6-flash",
"image_urls": ["https://example.com/photo.jpg"],
"prompt": "Человек оживает и улыбается",
"resolution": "1080p",
"duration": 5,
"audio": true
}'
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "wan2.6-flash",
"prompt": "Персонаж смотрит фильм на диване",
"metadata": {
"reference_urls": ["https://cdn.example.com/ref-character.mp4"]
},
"resolution": "1080p",
"duration": 5,
"audio": true
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "wan2.6-flash",
"image_urls": ["https://example.com/photo.jpg"],
"prompt": "Человек оживает и улыбается",
"resolution": "1080p",
"duration": 5,
"audio": True
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const response = await fetch('https://toapis.com/v1/videos/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'wan2.6-flash',
image_urls: ['https://example.com/photo.jpg'],
prompt: 'Человек оживает и улыбается',
resolution: '1080p',
duration: 5,
audio: true
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "video_01K2ABJPQ9A0Z6JZ3V8M9W6PZ",
"object": "generation.task",
"model": "wan2.6-flash",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
Wan2.6
Wan2.6 Flash Генерация видео
Генерация видео с помощью модели Alibaba Cloud Wan2.6 Flash — быстрый режим изображение-в-видео и референсного видео
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "wan2.6-flash",
"image_urls": ["https://example.com/photo.jpg"],
"prompt": "Человек оживает и улыбается",
"resolution": "1080p",
"duration": 5,
"audio": true
}'
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "wan2.6-flash",
"prompt": "Персонаж смотрит фильм на диване",
"metadata": {
"reference_urls": ["https://cdn.example.com/ref-character.mp4"]
},
"resolution": "1080p",
"duration": 5,
"audio": true
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "wan2.6-flash",
"image_urls": ["https://example.com/photo.jpg"],
"prompt": "Человек оживает и улыбается",
"resolution": "1080p",
"duration": 5,
"audio": True
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const response = await fetch('https://toapis.com/v1/videos/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'wan2.6-flash',
image_urls: ['https://example.com/photo.jpg'],
prompt: 'Человек оживает и улыбается',
resolution: '1080p',
duration: 5,
audio: true
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "video_01K2ABJPQ9A0Z6JZ3V8M9W6PZ",
"object": "generation.task",
"model": "wan2.6-flash",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
Для пользователей из материкового Китая: используйте
https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.- Ускоренная модель генерации видео Alibaba Cloud Wanxiang Flash
- Поддержка двух режимов: изображение-в-видео и референсное видео (r2v)
- Генерация только из текста не поддерживается — необходимо предоставить изображение или URL референсного видео
- Поддержка разрешений 720p/1080p; наличие/отсутствие аудио влияет на тарификацию
- Более высокая скорость генерации — идеально для быстрого просмотра и итераций
Изображение или URL референсного видео обязательны: Необходимо предоставить
image_urls (изображение-в-видео) или metadata.reference_urls (референсное видео). Запрос только с промптом вернёт ошибку.Логика маршрутизации
Сервер автоматически выбирает модель на основе параметров запроса:| Переданные параметры | Режим |
|---|---|
metadata.reference_urls (URL видео) | Референсное видео Flash (r2v-flash) |
image_urls (изображение) | Изображение-в-видео Flash (i2v-flash) |
Только prompt | ❌ Возвращает ошибку |
Аутентификация
string
обязательно
Все API требуют аутентификации Bearer TokenПолучите API Key на странице управления API ключамиДобавьте в заголовок запроса:
Authorization: Bearer YOUR_API_KEY
Параметры запроса
string
обязательно
Название модели генерации видео, фиксированное значение
wan2.6-flashstring[]
Массив URL референсных изображений (режим изображение-в-видео, только 1 изображение)Обязательно, если не указан
metadata.reference_urls⚠️ Только формат URL (base64 больше не поддерживается)- Публично доступный URL изображения (http:// или https://)
- Используйте API загрузки изображений для загрузки локальных изображений
["https://example.com/image.jpg"]string
Описание содержимого видео (опционально)Описывает ожидаемое движение или стиль для направления моделиПример:
"Человек оживает и улыбается камере"string
по умолчанию:"1080p"
Разрешение видеоДоступные значения:
720p- Стандартное1080p- Высокое качество (по умолчанию)
1080pРазные разрешения имеют разную стоимость.integer
по умолчанию:"5"
Длительность видео (секунды)Поддерживается:
5, 10, 15По умолчанию: 5boolean
по умолчанию:"true"
Генерировать видео со звуком
true- Видео со звуком (по умолчанию)false- Беззвучное видео
trueboolean
Добавить водяной знак Alibaba Cloud на видео
object
Расширенные параметры
Показать Показать поля metadata
Показать Показать поля metadata
string[]
Режим референсного видео (r2v) — массив URL референсных видеоПри наличии этого поля сервер направляет запрос к ускоренной модели референсного видео (wan2.6-r2v-flash). Модель использует эти видео для генерации нового контента с согласованными персонажами.
- Каждый элемент должен быть публично доступным URL видео (http:// или https://)
["https://cdn.example.com/ref-character.mp4"]Примечание: Нельзя использовать вместе с image_urlsТарификация: со звуком vs без звука
| Режим | Цена за 720p | Цена за 1080p |
|---|---|---|
Со звуком (audio: true) | ¥0.3 / сек | ¥0.5 / сек |
Без звука (audio: false) | ¥0.15 / сек | ¥0.25 / сек |
Ответ
string
Уникальный идентификатор задачи
string
Тип объекта, всегда
generation.taskstring
Использованное название модели
string
Статус задачи
queued- В очередиin_progress- Обрабатываетсяcompleted- Успешно завершенаfailed- Ошибка
integer
Прогресс задачи в процентах (0-100)
integer
Временная метка создания задачи (Unix timestamp)
object
Метаданные задачи
Сценарии использования
Сценарий 1: Изображение-в-видео (со звуком)
{
"model": "wan2.6-flash",
"image_urls": ["https://example.com/photo.jpg"],
"prompt": "Человек оживает и улыбается",
"resolution": "1080p",
"duration": 5,
"audio": true
}
Сценарий 2: Изображение-в-видео (без звука, экономия)
{
"model": "wan2.6-flash",
"image_urls": ["https://example.com/photo.jpg"],
"resolution": "720p",
"duration": 5,
"audio": false
}
Сценарий 3: Референсное видео (r2v-flash)
{
"model": "wan2.6-flash",
"prompt": "Персонаж смотрит фильм на диване",
"metadata": {
"reference_urls": ["https://cdn.example.com/ref-character.mp4"]
},
"resolution": "1080p",
"duration": 5,
"audio": true
}
Получение результатов задачиГенерация видео — асинхронная задача. После отправки возвращается
task_id. Используйте интерфейс Получить статус видео для запроса прогресса и результатов.curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "wan2.6-flash",
"image_urls": ["https://example.com/photo.jpg"],
"prompt": "Человек оживает и улыбается",
"resolution": "1080p",
"duration": 5,
"audio": true
}'
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "wan2.6-flash",
"prompt": "Персонаж смотрит фильм на диване",
"metadata": {
"reference_urls": ["https://cdn.example.com/ref-character.mp4"]
},
"resolution": "1080p",
"duration": 5,
"audio": true
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "wan2.6-flash",
"image_urls": ["https://example.com/photo.jpg"],
"prompt": "Человек оживает и улыбается",
"resolution": "1080p",
"duration": 5,
"audio": True
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const response = await fetch('https://toapis.com/v1/videos/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'wan2.6-flash',
image_urls: ['https://example.com/photo.jpg'],
prompt: 'Человек оживает и улыбается',
resolution: '1080p',
duration: 5,
audio: true
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "video_01K2ABJPQ9A0Z6JZ3V8M9W6PZ",
"object": "generation.task",
"model": "wan2.6-flash",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}