Appearance
Seedance 2.0 — Генерация Видео
POST /videos/seedance2
Генерация видео Seedance 2.0 (standard/fast/mini) с референсами. Лимит: 5 запросов/мин.
Базовый URL: https://api.aihere.ru/api/v1
Авторизация: Authorization: Bearer <API-ключ>
Rate-limit: 5 запросов/мин
Параметры
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
prompt | string | да | мин. длина: 3; макс. длина: 20000 |
model | string | — | значения: standard, fast, mini |
first_frame_url | string (опционально) | — | — |
last_frame_url | string (опционально) | — | — |
reference_image_urls | array[string] | — | макс. элементов: 9; по умолчанию: [] |
reference_video_urls | array[string] | — | макс. элементов: 3; по умолчанию: [] |
reference_audio_urls | array[string] | — | макс. элементов: 3; по умолчанию: [] |
resolution | string | — | значения: 480p, 720p, 1080p, 4k |
aspect_ratio | string | — | значения: 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive |
duration | integer | — | мин: 4.0; макс: 15.0; по умолчанию: 5 |
add_audio | boolean | — | по умолчанию: true |
web_search | boolean | — | по умолчанию: false |
Примеры
cURL
bash
curl -X POST "https://api.aihere.ru/api/v1/videos/seedance2" \
-H "Authorization: Bearer $AIHERE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-Callback-Url: https://myapp.example.com/api/aihere-callback" \
-d '{
"prompt": "Кинематографичный кадр: закат над мегаполисом, анаморфотный свет",
"reference_image_urls": [],
"reference_video_urls": [],
"reference_audio_urls": [],
"duration": 5,
"add_audio": true,
"web_search": false
}'Python
python
import requests
payload = {
"prompt": "Кинематографичный кадр: закат над мегаполисом, анаморфотный свет",
"reference_image_urls": [],
"reference_video_urls": [],
"reference_audio_urls": [],
"duration": 5,
"add_audio": True,
"web_search": False
}
resp = requests.post(
"https://api.aihere.ru/api/v1/videos/seedance2",
headers={
"Authorization": f"Bearer {API_KEY}",
# Опционально: вебхук о завершении задачи
# "X-Callback-Url": "https://myapp.example.com/api/aihere-callback",
},
json=payload,
timeout=60,
)
resp.raise_for_status()
task_id = resp.json()["task_id"]
print(f"Задача №{task_id} поставлена")JavaScript
javascript
const resp = await fetch("https://api.aihere.ru/api/v1/videos/seedance2", {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
// Опционально: "X-Callback-Url": "https://myapp.example.com/api/aihere-callback",
},
body: JSON.stringify({
"prompt": "Кинематографичный кадр: закат над мегаполисом, анаморфотный свет",
"reference_image_urls": [],
"reference_video_urls": [],
"reference_audio_urls": [],
"duration": 5,
"add_audio": true,
"web_search": false
}),
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}: ${await resp.text()}`);
const { task_id } = await resp.json();
console.log("Задача №" + task_id + " поставлена");PHP
php
$payload = json_decode('{"prompt": "Кинематографичный кадр: закат над мегаполисом, анаморфотный свет", "reference_image_urls": [], "reference_video_urls": [], "reference_audio_urls": [], "duration": 5, "add_audio": true, "web_search": false}', true);
$ch = curl_init('https://api.aihere.ru/api/v1/videos/seedance2');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer $apiKey",
'Content-Type: application/json',
// Опционально: 'X-Callback-Url: https://myapp.example.com/api/aihere-callback',
],
]);
$resp = json_decode(curl_exec($ch), true);
curl_close($ch);
echo "Задача №{$resp['task_id']} поставлена";Ответ 200
ID генерации
json
{
"task_id": 123
}Ошибки
| Код | Причина |
|---|---|
| 429 | Превышен rate-limit |
| 502 | Ошибка провайдера генерации |
| 503 | Провайдер недоступен или сбой сервиса баланса (списанные средства возвращаются) |
| 422 | Ошибка валидации тела запроса (detail содержит список полей) |
| 401 | Нет или невалидный API-ключ |
