curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-fast",
"prompt": "Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}'
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-quality",
"prompt": "Девушка кружится под цветущими вишневыми деревьями, лепестки падают с ветром",
"duration": 5,
"aspect_ratio": "9:16",
"resolution": "1080p"
}'
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-quality",
"prompt": "Сцена переходит от дня к ночи, городские огни постепенно включаются",
"duration": 5,
"image_with_roles": [
{"url": "https://example.com/day.png", "role": "first_frame"},
{"url": "https://example.com/night.png", "role": "last_frame"}
]
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "doubao-seedance-1-0-pro-fast",
"prompt": "Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}
)
task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {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: 'doubao-seedance-1-0-pro-fast',
prompt: 'Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок',
duration: 5,
aspect_ratio: '16:9',
resolution: '720p'
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
{
"id": "task_vid_xyz789ghi012",
"object": "generation.task",
"model": "doubao-seedance-1-0-pro-fast",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
doubao-seedance-1-0-pro
Doubao SeeDance Генерация видео
Генерация видео с помощью модели ByteDance Doubao SeeDance
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": "doubao-seedance-1-0-pro-fast",
"prompt": "Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}'
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-quality",
"prompt": "Девушка кружится под цветущими вишневыми деревьями, лепестки падают с ветром",
"duration": 5,
"aspect_ratio": "9:16",
"resolution": "1080p"
}'
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-quality",
"prompt": "Сцена переходит от дня к ночи, городские огни постепенно включаются",
"duration": 5,
"image_with_roles": [
{"url": "https://example.com/day.png", "role": "first_frame"},
{"url": "https://example.com/night.png", "role": "last_frame"}
]
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "doubao-seedance-1-0-pro-fast",
"prompt": "Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}
)
task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {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: 'doubao-seedance-1-0-pro-fast',
prompt: 'Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок',
duration: 5,
aspect_ratio: '16:9',
resolution: '720p'
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
{
"id": "task_vid_xyz789ghi012",
"object": "generation.task",
"model": "doubao-seedance-1-0-pro-fast",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
Для пользователей из материкового Китая: используйте
https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.- Модель генерации видео ByteDance Doubao
- Модели:
doubao-seedance-1-0-pro-fastилиdoubao-seedance-1-0-pro-quality - Поддержка контроля первого/последнего/референсного кадра
- Асинхронное управление задачами
Важное изменение: Для повышения производительности и контроля затрат мы больше не поддерживаем передачу данных изображений в формате base64 напрямую в
image_urls. Пожалуйста, сначала используйте API загрузки изображений для загрузки изображений и получения URL, а затем вызывайте этот эндпоинт.Тело запроса
string
по умолчанию:"doubao-seedance-1-0-pro-fast"
обязательно
Модели:
doubao-seedance-1-0-pro-fast- быстрая версияdoubao-seedance-1-0-pro-quality- качественная версия
string
обязательно
Описание содержимого видеоПодробно опишите сцены, действия, стили для лучших результатов генерацииПример:
"Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок"integer
по умолчанию:5
Продолжительность видео (секунды)Поддерживаемый диапазон:
2 ~ 12 секундПо умолчанию: 5string
по умолчанию:"16:9"
Соотношение сторон видеоВарианты:
16:9- Горизонтальный9:16- Вертикальный1:1- Квадрат4:3- Традиционное соотношение3:4- Вертикальное традиционное соотношение21:9- Ультраширокий
16:9string
по умолчанию:"720p"
Разрешение видеоВарианты:
480p- Стандартное разрешение720p- Высокое разрешение1080p- Full HD
720pОграничение 1080p: При использовании референсных изображений (role: reference в image_with_roles) разрешение 1080p не поддерживаетсяКомбинации разрешения и соотношения сторон
| Разрешение | Поддерживаемые соотношения | Примечания |
|---|---|---|
| 480p | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 | Все поддерживаются |
| 720p | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 | Все поддерживаются |
| 1080p | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 | Референсное изображение не поддерживается |
string[]
Массив URL-адресов первого кадра для генерации изображения в видео⚠️ Только формат URL (base64 больше не поддерживается)
- Публично доступный URL изображения (http:// или https://)
- Вы можете использовать API загрузки изображений для загрузки локальных изображений и получения URL
["https://example.com/cat.png"]image_urls и image_with_roles нельзя использовать вместеarray
Массив изображений с ролями для более точного контроля
Пример:
Показать Описание полей
Показать Описание полей
string
обязательно
URL-адрес изображения
string
обязательно
Роль изображенияВарианты:
first_frame- Первый кадр, как начальный кадр видео (только одно изображение)last_frame- Последний кадр, как конечный кадр видео (только версия quality, только одно изображение)reference- Референсное изображение для управления стилем видео (только одно изображение)
[
{"url": "https://example.com/start.png", "role": "first_frame"},
{"url": "https://example.com/end.png", "role": "last_frame"}
]
image_urlsиimage_with_rolesнельзя использовать вместе- Для каждой роли поддерживается только одно изображение
last_frameподдерживается только версиейdoubao-seedance-1-0-pro-quality, fast версия не поддерживает одновременное использование первого и последнего кадра
object
Дополнительные параметры (опционально)
Показать Описание полей
Показать Описание полей
integer
Целое число seed для контроля случайности генерацииДиапазон:
-1 ~ 2^32-1Одинаковое значение seed дает похожие результаты, но не гарантирует идентичностьcurl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-fast",
"prompt": "Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}'
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-quality",
"prompt": "Девушка кружится под цветущими вишневыми деревьями, лепестки падают с ветром",
"duration": 5,
"aspect_ratio": "9:16",
"resolution": "1080p"
}'
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-0-pro-quality",
"prompt": "Сцена переходит от дня к ночи, городские огни постепенно включаются",
"duration": 5,
"image_with_roles": [
{"url": "https://example.com/day.png", "role": "first_frame"},
{"url": "https://example.com/night.png", "role": "last_frame"}
]
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "doubao-seedance-1-0-pro-fast",
"prompt": "Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}
)
task = response.json()
print(f"ID задачи: {task['id']}")
print(f"Статус: {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: 'doubao-seedance-1-0-pro-fast',
prompt: 'Закат на пляже, золотой солнечный свет на море, волны мягко ударяются о песок',
duration: 5,
aspect_ratio: '16:9',
resolution: '720p'
})
});
const task = await response.json();
console.log(`ID задачи: ${task.id}`);
console.log(`Статус: ${task.status}`);
{
"id": "task_vid_xyz789ghi012",
"object": "generation.task",
"model": "doubao-seedance-1-0-pro-fast",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}