Руководство
Как использовать видео API Wan 2.7? Учебник на китайском: текст в видео и изображение в видео
Примеры на curl и Python, как передавать массив media, первый и последний кадры и управляющее аудио, а также типичные подводные камни вроде регистра в разрешении.
TL;DR
- Wan 2.7 — это видеомодель Alibaba, на HiAPI есть текст в видео
wan2.7-video/text-to-videoи изображение в видеоwan2.7-video/image-to-video, один ролик длится 2–15 секунд. Откройте страницу модели, чтобы генерировать онлайн; новым пользователям при регистрации дают 200 кредитов. - Оплата по секундам, текст в видео и изображение в видео стоят одинаково: 720P — $0.10 за секунду, 1080P — $0.167 за секунду. 5 секунд в 720P — $0.50.
- Два частых подводных камня: разрешение нужно писать заглавными
720P/1080P, по умолчанию 1080P; параметр соотношения сторон для текст в видео называетсяratio, а неaspect_ratio.
Сначала посмотрите результат
Текст в видео, пример со страницы модели, промпт на китайском:
Молодая женщина в белом свитере сидит у окна кафе, за окном дождливая улица, она мягко поднимает чашку кофе, взгляд устремлён в окно, тёплый жёлтый свет падает на её лицо, капли дождя медленно стекают по стеклу, кинематографичная малая глубина резкости, фактура 35-мм плёнки, тёплые тона, замедленный крупный план
Сгенерировать с этим промптом → (1080P, 16:9)
Пример со страницы модели wan2.7-video/text-to-video, 1080P, около 8 секунд, по текущей цене около $1.336.
Изображение в видео, в качестве первого кадра берём картинку фермы в пластилиновом стиле:

Стиль пластилиновой анимации, весёлая фермерская сцена постепенно оживает. Корова-мама медленно жуёт траву, телёнок любопытно склоняет голову и оглядывается. Позади куры наклоняются и клюют зёрна с земли, собака виляет хвостом и делает несколько шагов трусцой в сторону камеры. Поросёнок в грязевой луже довольно переворачивается, разбрызгивая маленькие грязевые брызги. Вдали медленно вращается ветряк на красном амбаре, над зелёными холмами неторопливо проплывают белые облака. Маленькие цветы на земле слегка колышутся на лёгком ветру, вся картина наполнена тёплым послеполуденным солнцем, фактура покадровой анимации, очень по-детски.
Сгенерировать с этим промптом → (загрузите свой первый кадр)
Пример со страницы модели wan2.7-video/image-to-video, 1080P, около 8 секунд, по текущей цене около $1.336.
В промпте для изображение в видео описывайте по принципу «кто что делает», по очереди: корова жуёт траву, куры клюют, собака бежит трусцой, поросёнок переворачивается. Дайте каждому персонажу на картинке небольшое действие — и вся картинка оживёт.
Два пути освоения
Онлайн-попробовать (без кода)
- Откройте страницу модели Wan 2.7 текст в видео, зарегистрируйтесь или войдите.
- Вставьте промпт, выберите длительность, разрешение, соотношение сторон.
- Нажмите «Сгенерировать», после готовности ролика скачайте его.
Вызов через API
- Создайте API Key в консоли.
POST https://api.hiapi.ai/v1/tasks— отправьте задачу, в ответе придётtaskId.GET /v1/tasks/{taskId}— проверяйте статус; когдаstatusстанетsuccess, скачайте видео изoutput[0].url.
curl: первое видео
5 секунд, 720P, $0.50:
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.7-video/text-to-video",
"input": {
"prompt": "Рыжий кот лежит на залитом солнцем подоконнике и зевает, хвост слегка покачивается, тёплые тона, малая глубина резкости",
"resolution": "720P",
"ratio": "16:9",
"duration": 5
}
}'
Ответ:
{"code": 200, "data": {"taskId": "tk-hiapi-..."}, "message": "success"}
Проверка результата:
curl https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_KEY"
Python: отправка, опрос, скачивание
# pip install requests; сначала export HIAPI_KEY=ваш Key
import os, time, uuid, requests
KEY = os.environ["HIAPI_KEY"]
H = {"Authorization": f"Bearer {KEY}"}
def generate(model, timeout_s=900, **params):
body = {"model": model, "input": params}
# При повторной отправке той же задачи передавайте тот же Idempotency-Key, чтобы избежать двойного списания
headers = {**H, "Idempotency-Key": str(uuid.uuid4())}
r = requests.post("https://api.hiapi.ai/v1/tasks", json=body, headers=headers, timeout=30)
r.raise_for_status()
res = r.json()
if res.get("code") != 200:
raise RuntimeError(res)
task_id = res["data"]["taskId"]
deadline = time.time() + timeout_s
while time.time() < deadline:
d = requests.get(f"https://api.hiapi.ai/v1/tasks/{task_id}", headers=H, timeout=30).json()["data"]
if d["status"] == "success":
return d["output"][0]["url"]
if d["status"] == "fail":
raise RuntimeError(d)
time.sleep(10)
raise TimeoutError(task_id)
url = generate(
"wan2.7-video/text-to-video",
prompt="Рыжий кот лежит на залитом солнцем подоконнике и зевает, хвост слегка покачивается, тёплые тона, малая глубина резкости",
resolution="720P", ratio="9:16", duration=5,
)
with open("clip.mp4", "wb") as f:
f.write(requests.get(url).content)
Изображение в видео: передача материалов через media
В изображение в видео используется не image_url, а массив media, где для каждого элемента указан тип и адрес, от 1 до 3 элементов:
{
"model": "wan2.7-video/image-to-video",
"input": {
"prompt": "Камера медленно приближается, лепестки взлетают от ветра, персонаж поворачивает голову и улыбается",
"media": [
{"type": "first_frame", "url": "https://your-cdn.example.com/start.jpg"},
{"type": "last_frame", "url": "https://your-cdn.example.com/end.jpg"}
],
"resolution": "720P",
"duration": 5
}
}
У type есть четыре значения:
type |
Назначение |
|---|---|
first_frame |
Изображение первого кадра |
last_frame |
Изображение последнего кадра, работает вместе с первым для перехода |
driving_audio |
Управляющее аудио, заставляет картинку двигаться в такт звуку |
first_clip |
Первый видеоролик, продолжение генерируется от него |
Обзор параметров
| Параметр | Значения | Описание |
|---|---|---|
prompt |
строка, обязательный | До 5000 символов, можно на китайском и английском |
negative_prompt |
строка | Что не должно появляться, до 500 символов |
resolution |
720P / 1080P, по умолчанию 1080P |
Заглавными, напрямую определяет цену |
ratio |
16:9 9:16 1:1 4:3 3:4, по умолчанию 16:9 |
Только для текст в видео |
duration |
целое число 2–15, по умолчанию 5 | В секундах |
audio_url |
wav/mp3, 2–30 секунд, максимум 15 MB | Только для текст в видео, опционально |
prompt_extend |
по умолчанию true |
Автоматически улучшает промпт; чтобы генерировать строго по исходному тексту, установите false |
seed |
0–2147483647 | Фиксированное зерно для воспроизводимости |
watermark |
по умолчанию false |
Добавлять ли водяной знак AI-генерации |
Посчитаем стоимость
| Длительность | 720P ($0.10/сек) | 1080P ($0.167/сек) |
|---|---|---|
| 2 секунды | $0.20 | $0.334 |
| 5 секунд | $0.50 | $0.835 |
| 10 секунд | $1.00 | $1.67 |
| 15 секунд | $1.50 | $2.505 |
$10 в 720P хватит на 100 секунд. resolution по умолчанию 1080P; при отладке промпта пишите 720P, это экономит 40%.
Что учесть перед запуском в продакшн
- Используйте callback вместо опроса: на верхнем уровне запроса (на одном уровне с
input) добавьте"callback": {"url": "https://ваш-домен/hiapi/callback"}, дедуплицируйте поtaskId. - Своевременно сохраняйте:
output[0].url— временная ссылка, сразу после получения сохраните файл в своё хранилище. - Повторные попытки с ключом идемпотентности: добавьте в заголовки
Idempotency-Key, повтор с тем же ключом создаст задачу только один раз. - Автоматический возврат при ошибке: оплата взимается только за успешно сгенерированные видео.
Частые вопросы
Можно ли писать разрешение строчными 720p?
Нет. Строчные вернут 400: resolution: value must be one of '720P', '1080P'.
Почему при передаче aspect_ratio возникает ошибка?
Параметр соотношения сторон для текст в видео Wan 2.7 называется ratio. Передача aspect_ratio вернёт 400: additional properties 'aspect_ratio' not allowed.
Как задать соотношение сторон для изображение в видео?
У изображение в видео нет параметра соотношения сторон, оно наследуется от первого кадра.
Можно ли сгенерировать видео длиной 15 секунд?
Да, диапазон duration — от 2 до 15 секунд.
Как выбрать между Wan 2.7 и Wan 3.0?
Wan 3.0 на HiAPI — это видео по референсу, где референсные изображения фиксируют персонажей и товары; если нужно только текст в видео или изображение в видео, используйте Wan 2.7.
Больше вариантов написания смотрите в примерах промптов для текст в видео Wan 2.7 (на английском). Хотите сначала попробовать один ролик — перейдите на страницу модели.
Похожие статьи
Все статьи →-
Руководство
Как вызвать hailuo-2.3-fast/image-to-video через HiAPI API: практика с curl и Python
Первый рабочий запрос к быстрому и недорогому уровню генерации видео по изображению — от ID модели до загрузки MP4
-
Руководство
Как вызывать hailuo-2.3/text-to-video через API HiAPI: curl, Python и рабочие примеры запросов
-
Руководство
Использование Kandinsky 6.0 Pro для преобразования текста в видео на HiAPI: руководство по curl и Python
Практическая демонстрация с упором на запросы: построение вызова от промпта до видеоклипа, отправка запроса, опрос статуса завершения и скачивание результата